Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает защита картинкой
 
 автор: aexb   (06.06.2007 в 09:47)   письмо автору
 
 

Всем привет, очень нужна помощь. У меня есть форма, в которой выставлена защита картинкой (код ниже). Каким-то образом роботы все-таки умудряются через нее пролезать и оставлять спам :(

Код файла index.php:
<?
switch ($_GET['act']) {
    case 
"addpost":
        if (
$_POST['add']=="ok") {
            
session_start();

            if (
$_POST['eq']!=$_SESSION['eq']) {
                
session_destroy();
                exit(
"К сожалению, Вы неверно решили проверочный пример. Пожалуйста, повторите попытку");
            }
            
            
/*
                тут идет проверка данных и запрос в БД на добавление записи в таблицу
            */
        
}
    break;

    default:

        
//Генерация текста на картинке
        
$dig1=rand(199);
        
$dig2=rand(120);

        
$dig1_l="$dig1";
        
$dig2_l="$dig2";
        
        
$primer="$dig1_l+$dig2_l";

        
$eq=$dig1+$dig2;

        
session_start();
        
$_SESSION['primer']=$primer;
        
$_SESSION['eq']=$eq;

        
//Вывод формы
        
echo "
            <form method=\"POST\" action=\""
.$_SERVER['PHP_SELF']."?act=addpost\">
            Сообщение / Message:<br>
            <textarea id=\"q3\" name=\"msg\"></textarea>
            <p />
            <img src=\"img.php\" border=0>&nbsp;=&nbsp;<input id=\"q4\" name=\"eq\"><br>
            <input id=\"MainSubmitButton\" type=\"submit\" value=\"OK\">
            <input type=\"hidden\" name=\"add\" value=\"ok\">
            </form>
        "
;
}
?>

Код файла img.php:
<?php  
session_start
();  
$img imagecreate(100,40);  
$black imagecolorallocate($img,0,0,0);  
$white imagecolorallocate($img,255,255,255);  
imagefill($img,0,0,$white);  
imagettftext($img,20,0,5,29,$black,'arlrdbd.ttf'$_SESSION['primer']);  
$p 0;  
while (
$p<400)  
{  
   
$x mt_rand(1,100); // случайная координата пикселя шума по оси X  
   
$y mt_rand(1,75); // ось Y  
   
$pixel imagecolorat($img,$x,$y); // узнаем какой цвет используется на месте будущего пикселя шума  
   
$point = ($pixel == $black) ? $white $black// если был черный, красим пиксель белым, если белый - красим черным  
   
imagesetpixel($img,$x,$y,$point); // рисуем сам пиксель  
   
$p++;  
}  
imagepng($img);  
imagedestroy($img);  
//header('Content-Type: image/png');  
?>

Шрифт на всякий случай в аттаче.

Что неправильно? Или надо другого типа картинку генерить?

   
 
 автор: Владимир55   (06.06.2007 в 09:53)   письмо автору
 
   для: aexb   (06.06.2007 в 09:47)
 

Программа xrumer3.0 (спам по форумам) и программа AllSubmitter старших версий (размещение сайтов в каталогах) свободно преодолевает защиту картинками.

Гораздо надежнее защита логическим вопросом ("Сколько будет три плюс пять?", "Сколько дней в неделе?").

   
 
 автор: Richard Ferlow   (06.06.2007 в 09:56)   письмо автору
 
   для: Владимир55   (06.06.2007 в 09:53)
 

А как эти программы это делают ?

   
 
 автор: Proger   (06.06.2007 в 10:00)   письмо автору
 
   для: Richard Ferlow   (06.06.2007 в 09:56)
 

просто расшифровывают ваш код или пример, как там у вас и без труда его считают, советую поставить вот енто: http://captcha.ru/breakings/ за год никто ко мне не прошёл ботный ;))

Ну и собственно скачайте и установите - поможет = проверенно =)
Скачивать тута последную версию: http://captcha.ru/kcaptcha.zip

   
 
 автор: Richard Ferlow   (06.06.2007 в 10:05)   письмо автору
 
   для: Proger   (06.06.2007 в 10:00)
 

Круто :))
Надо поставить на IPB как-нибудь

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования