За последние 24 часа нас посетили 25457 программистов и 1730 роботов. Сейчас ищут 824 программиста ...

Капча

Тема в разделе "PHP для новичков", создана пользователем nixx, 14 ноя 2013.

  1. nixx

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

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Будет ли толк от такой "капчи" или спамеры её проглодят ?
    Код (Text):
    1. <?php
    2. $a= mt_rand(1, 9);$b= mt_rand(1, 9);$c=$a+$b; $t='' ;//$t - для наглядности
    3.  
    4. if(isset($_POST['otvet']) and  $_POST['otvet']!=''  )
    5.  
    6.  { if( $_POST['otvet'] ==$_POST['c']  )   {  $t= "Ответ  правильный" ;  }  
    7.    
    8.  if( $_POST['otvet'] !=  $_POST['c'] )        { $t= "Ответ неправильный" ;  }}  
    9.  
    10.      if(isset($_POST['submit']) and  isset($_POST['otvet']) and   $_POST['otvet']=='')    { $t= "Заполните поле" ; }  
    11. echo "
    12. <form action='zzz.php' method='post'   style = 'margin: 25px;padding:  0;'>
    13.  Сколько будет ? : ".$a.    "+ ".$b." = <input  type='text' name='otvet' size=3 maxlength=3 value=''> $t
    14.  <input type='hidden' name='c'  value='$c'>
    15.  <input type='submit' value='Отправить'  name='submit' ></form>";     
    16.    
    17.  ?>
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    правильный ответ в самой форме. толку от капчи ноль
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    скрипт ну просто <матное слово>
    Особенно начало:
    Код (PHP):
    1. if(isset($_POST['otvet']) and  $_POST['otvet']!=''  ) 
    когда можно было просто напиcать !empty.
     
  4. kimitake

    kimitake Новичок

    С нами с:
    14 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Совет - правильный ответ должен писаться в сессию
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Да в топку все эти каптчи, никому не нужные.
     
  7. nixx

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

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    его можно просто закриптить
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну вы же этого не сделали
     
  9. nixx

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

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Пожалуйста
    Код (Text):
    1. $c=crypt(md5($c),$c);$_POST['otvet']=crypt(md5($_POST['otvet']),$_POST['otvet']);
    защита от спама :)
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Подержи форум на том же phpBB. Или бложик на WP. Когда надоест выпиливать десятки спамботов, засирающих комменты и топики, переосмыслишь отношение к капче. Обратные тесты тьюринга нужны, другое дело, что они не должны вызывать приступы ярости.
     
  11. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    1) написать парсер для этого - дело 5 минут для любого школьника.
    2) точнее это вообще не капча. что мне мешает присылать ВСЕГДА ОДНО И ТОЖЕ значение? вы в скрипте это никогда не узнаете. правильный результат надо хранить на сервере!
     
  12. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Joomla-истам помогал от ботов, с разными компонентами комментариев, все в 98% лечатся 1-2 строчками.
    остальные 2%, чуть больше )

    Скрипач Капча не нужна, хватит уже мучать ее, пусть умрет спокойно.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Так поделись мудростью же, чем лечил? Какая альтернатива?
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Увы! К сожалению, для тебя-это невозможно ;)
    В любом случае, твоя мего-про-каптча, не спасет от тех, кто хочет насрать тебе в душу.
    Извращение такого рода, отпугнут простых смертных с твоего сайта, он будет забытым болотом.
    Тем самым, простота и удобство даст оборот.
     
  15. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Даже здесь на форуме, уже давно не раз обсуждали жеж, igordata - озвучивал вариацию с ханипотом для бота, вариант с ограничением времени на заполнение формы (лимит по времени между отдали пользователю и прилетело обратно), можно еще придумать, комбинировать и прочее. )
    А также есть сервис: http://areyouahuman.com/, если прямо так уж нужна капча.
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    такие паззлы я предлагал в той же теме, где говорили о ханиспотах. У ханиспота есть одна проблема - он защищает только от случайных ботов. Бот, натравленный специально, увы, будет знать, что гадить в ханиспот не комильфо и вполне сойдет за человека.
     
  17. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Вот когда он сойдет за человека, тогда и дальше можно двигаться.
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Не сойдет, даже за человека, не сессий не js.
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну...если пожертвовать всеми пользователями без JS, то можно просто форму входа аяксом подгружать, следуя из твоей логики. Об такую "защиту" любой бот ноги переломает в десяти местах. Хорошая мысль, кстати, так и сделаю, пожалуй :)

    У меня знакомый в свое время защищался на тему неявных обратных тестов тьюринга. Иными словами - оценивать поведение пользователя и смотреть, насколько оно "человеческое". Для оценки использовать все, вплоть до пропорциональности прошедшего времени объему пришедшего запроса с сервера. И вот если чуть какое сомнение - тогда для верности показывать отстойную капчу.
     
  20. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    фигня это все. вы же понимаете что нет особых проблем - выставить нужные тайм-ауты(+ небольшой рандом), последовательность и глубину "кликанья", хедеры, куки, js . всё это уже сейчас есть в нормальных ботах. и настраивается, если нужно.
    опять же. что значит пропорциональность прошедшего времени? кто его определяет и по каким критериям. по очень общим. юзер с плохим инетом будет слать запросы небыстро. хотя и может накликать быстро кучу ссылок, если скачивает страницы например. ему за это капчу всунут? нелогично. а если все равно витоге капчу юзать - то смысл тогда от этой оценки поведения.

    итог. если это обычный тупой школо-бот - то хватит и простейших детекторов. а если нормальный бот, да еще натравленный(настроенный) под ваш сайт - то вычислить его будет сложно. если даже супер мега сложная капча - то отгадывать её будут те же школьники - по рублю-за капчу ) и толку от нее будет ноль.
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну вот потому и защищался :)
    Там просторов для исследований - до горизонта не кончаются. Именно ввиду того, что звучит просто, а на деле - куча вот таких вот камней подводных.