За последние 24 часа нас посетили 24394 программиста и 1725 роботов. Сейчас ищут 1906 программистов ...

Антиспам

Тема в разделе "Вопросы от блондинок", создана пользователем nikemat, 7 июн 2011.

  1. nikemat

    nikemat Guest

    Помогите написать простой антиспам, типа 2+4=...
    можно сессии, куки, файлы для хранения переменных.
    значение передается в форме методом post.
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    captcha.ru
     
  3. nikemat

    nikemat Guest

    А если что-нибудь попроще и без изображений?
    а по поводу captcha- я так и не понял, как мне её подключить к себе (сравнить картинку с введенным кодом) и прочитать сессию
     
  4. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    в форме текстовое поле добавляешь и скрываешь его с помощью css, если это поле приходит заполненное, значит писал бот
     
  5. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    PHP:
    1.  
    2. //это вверху страницы, до хтмл
    3. $captcha = isset($_POST['captcha'])?abs((int)$_POST['captcha']):0;
    4.  
    5.  
    6.  
    7. if(//если сабмит формы) {
    8.     if($captcha == ($_SESSION['captcha'][0] + $_SESSION['captcha'][1])) {
    9.    ///каптча совпала
    10.     }
    11. }
    12.  
    13. $_SESSION['captcha'] = array(mt_rand(1, 50), mt_rand(1, 50));




    HTML:
    1.  
    2. ///а это уже хтмл
    3. Сколько будет <?php echo $_SESSION['captcha'][0]; ?> + <?php echo $_SESSION['captcha'][1]; ?>? <input name="captcha" type="text" maxlength="3" style="border:1px solid red">

    код вытянул из своих старых залежей говнокода. распространение и модификация в соответствии с GNU лицензией. (C) Orange ShitCode Inc :)
     
  6. nikemat

    nikemat Guest

    Да ну, плохая идея. Просили сделать случайный текст и поле для ввода. если текст совпадает с введенным значением, выполняется функция.
    Есть решения?
     
  7. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    nikemat
    и чем оно плохое? тем что автор сего топика не знает как переделать цифры на слова/буквы? ну да, тогда плохое.

    да да, продолжай ждать, что тебе готовое напишут.
     
  8. nikemat

    nikemat Guest

    Там была идея с использованием скрытого поля, если заполнено- то писал робот. На самом деле хоть все поля там перемешать, и по содержимому полей пропускать/не пропускать сообщение, все равно ненадежно. (например, если в поле с названием name, предназначенного для ввода e-mail, нет знака @/ боты основываются на именах полей, а человек- на подписях к ним). спасибо, попробую
     
  9. nikemat

    nikemat Guest

    Да, вроде работает, хотя я вчера это уже делал. только сравнение переданных и установленных данных писал до формы, а надо после. но всё равно спасибо!
     
  10. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    просто если есть поле с названием name то бот его заполнит. А человек - если не увидит, то не заполнит. Но стопроцентной гарантии этот метод конечно не дает. Впрочем, стопроцентной гарантии ни один метод не дает :)