Помогите новичку со скриптом Написал скрипт для авторегистрации на _http://www.volchat.ru/forum/ Обход капчи - ручной ввод. Но при попытке зарегистрировать юзера пишет, что введённый код не совпадает с проверочным. Кому нечего делать проверьте пож. PHP: <? //VARs $host = "www.volchat.ru"; $path = "/forum/profile.php?mode=register"; $p_to_pics = "/forum/profile_pic.php?l="; $post_path = "/forum/profile.php"; //FUNCTIONs function get_something($host, $path, $cookie = FALSE) { $data = "GET ".$path." HTTP/1.1\r\n"; $data .= "Host: ".$host."\r\n"; $data .= "User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n"; $data .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif\r\n, image/x-xbitmap, */*;q=0.1\r\n"; $data .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n"; $data .= "Accept-Encoding: gzip,identity\r\n"; $data .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1,UCS-2;q=0, UCS-4;q=0, UTF-1;q=0\r\n"; $data .= "TE: deflate, gzip, chunked, identity, trailers\r\n"; if ($cookie) { // $data .= "Referer: http://".$host.$path."\r\n"; $data .= "Cookie: ".$cookie."\r\n"; } $data .= "Connection: close;\r\n\r\n"; $t = fsockopen($host, 80, $errno, $error, 30) or die ("Ошибка № ".$errno.": ".$error); fputs($t, $data); while(!feof($t)) {$output .= fgets($t, 1024);} return $output; } function get_cookies($page) { $headers = substr($page, 0, strpos($page, "\r\n\r\n")); $fragment1 = substr($headers, strpos($headers, "Set-Cookie: ")); $cookie1 = str_replace("Set-Cookie: ", "", substr($fragment1, 0, strpos($fragment1, "; "))); $fragment2 = str_replace("Set-Cookie: ", "", substr($fragment1, strpos($fragment1, "\r\n"))); $cookie2 = str_replace("\r\n", "", substr($fragment2, 0, strpos($fragment2, "; "))); $cooks = $cookie1."; ".$cookie2; return $cooks; } function show_capcha($host, $path, $cookie) { for($i=0; $i<8; $i++) { $pic_with_hs = get_something($host, $path.$i, $cookie); $gif = substr($pic_with_hs, strpos($pic_with_hs, "\r\n\r\n")+4); file_put_contents("{$i}.gif", $gif); $capcha .= "<img src='{$i}.gif'>"; } return $capcha; } //PROGRAM $page = get_something($host, $path); //---get page whith cookies $cookie = get_cookies($page); //---get cookies $sid = substr($page, strpos($page, "phpbb2mysql_sid")); //---|get sid $sid = substr($sid, strpos($sid, "=")+1, 32); //---| echo show_capcha($host, $p_to_pics, $cookie); //---get captcha! ?> <form method='get' action=''> Капча: <input type='text' name='cap'> <input type='Submit' name='go' value='go'> </form> <? if (isset($_GET['go']) && isset($_GET['cap'])) { $aya = "абвгдежзиклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; // $az = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; for($i=0; $i<9; $i++) { $x = rand(0, strlen($aya)-1); $nm .= $aya[$x]; $mail .= rand(0, 9); // $y = rand(0, strlen($az)-1); // $pass .= $az[$y]; } $pass = "8967trtr1"; $reginf = "username=".$nm."&user_email=".$mail."@mail.ru&user_email_confirm=".$mail."@mail.ru&robot_confirm=".$_GET['cap']."&new_password=".$pass."&password_confirm=".$pass."&user_from=Z-city&user_gender=1&agree_rules=1&submit=Отправить&mode=register&u=-1&sid=".$sid."&forum_rules_present=1"; $post = "POST ".$post_path." HTTP/1.1\r\n"; $post .= "Host: ".$host."\r\n"; $post .= "User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n"; $post .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif\r\n, image/x-xbitmap, */*;q=0.1\r\n"; $post .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n"; $post .= "Accept-Encoding: gzip,identity\r\n"; $post .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1,UCS-2;q=0, UCS-4;q=0, UTF-1;q=0\r\n"; $post .= "Cookie: ".$cookie."\r\n"; $post .= "Content-Type: application/x-www-form-urlencoded\r\n"; $post .= "Content-Length: ".strlen($reginf)."\r\n"; $post .= "Connection: close\r\n\r\n"; $post .= $reginf; $tr = fsockopen($host, 80, $errno, $error, 30) or die ("ERROR!"); fputs($tr, $post); while(!feof($tr)) {echo fread($tr, 1024);} $string = $nm." registered with password '".$pass."' на адрес ".$mail."@mail.ru\r\n"; $log = fopen("reg.log", a) or die ("Не удаётся открыть файл"); fwrite($log, $string) or die ("Не удаётся записать в файл"); fclose($log); } ?>