За последние 24 часа нас посетили 21254 программиста и 1081 робот. Сейчас ищут 711 программистов ...

Дружественая капча

Тема в разделе "Решения, алгоритмы", создана пользователем Alost, 30 мар 2009.

  1. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Дабы не оффтопить в топике где данный вопрос возник, переедем сюда.

    Вопрос в следующем За и Против использования проверки капчи при ее вводе,а не при окончательной отправке всей формы.
    [​IMG]
    Также вопрос о реализации данного метода.

    1.Храним md5 от капчи в JS и при изменении капчи проверяем совпадение.
    2.При изменении капчи, AJAX запросом проверяем правильная она или нет.

    Я первый способ считаю потенциальной дырой для подбора капчи.С учетом современных мощностей подбор такой капчи не составляет труда.
     
  2. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    1. Хранить md5 каптчи в js - вообще не вариант, ты совершенно прав.
    2. Вариант правильный, только, естественно, при неверной попытке каптчу надо менять на новую, иначе это такая же дыра как и 1.
    3. Такая каптча как на картинке сама по себе является дырой ;)
     
  3. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    А если не менять капчу,а разрешать запрос на проверку капчи не чаще раза в несколько секунд.
     
  4. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    Можно в принципе и так.
    Но всё-таки я бы менял, но, допустим, не каждый, а каждые 5-10 раз.
     
  5. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    соглашусь.
     
  6. Как только какая-то идея приходит в состояние подгонки значений, значит она скорее всего не верна изначально.

    Аргументируйте необходимость проверки правильности ввода капчи, а потом сформулируйте, зачем она применяется, и вы увидите только два решения - отказаться от капчи в угоду удобности пользователя или сделать ее в классическом виде для отсеивания спама.
     
  7. это кстати, такая же дыра как и 1. я смогу менять капчу до тех пор, пока она не будет хорошо различима и я ее угадаю.
     
  8. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    флоппик
    На себе испробовал что такое ввод капчи на гугле, минут 10 каждый раз вводя заново два раза пароль пытался ввести правильную капчу.Слишком она у них не угадываемая,даже если ты человек.
     
  9. это уже другая проблема, не связаная напрямую с сабжем.
     
  10. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    флоппик я что-то не очень понял. Объясни подробнее плз. В каком смысле "хорошо различима"?
     
  11. В автоматическом )
     
  12. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    На всех нормальных сайтах есть кнопка "обновить код".
     
  13. Kreker и? Какой из этого следует логический вывод?
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Если нет кнопки "обновить", значит можно форму всю обновлять.
    Вывода сделать не могу =\
     
  15. kas1e

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

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    http://bash.org.ru/add

    самое оно ;)

    правда при вводе на неверность оно не укажет.

    но если бы указывала - была бы слабой по защите.
     
  16. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А засабмитенный пост не считается указанием, что каптча опознана?
     
  17. kas1e

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

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    время перебора не забываем. срабатывания жаба скрипта, его проверки гораздо меньше чем посылка данных на сервер и их обработка пэхой. + без аякса мы не сможем узнать, что кто-то пытается перебирать и заблочить. жабаскрипты можно и подправить.

    поэтому - фтопку. самое простое для использования - не значит самое надежное.
     
  18. vuzy

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

    С нами с:
    11 мар 2010
    Сообщения:
    199
    Симпатии:
    0
    Адрес:
    киев
    можно пример страницы? в каком виде выводится капча ??? Потому что мне кажется что это просто текст =) А это уже уязвимо... достаточно просто написать скрипт который просто подорвет тэки передкапчей и после капчи возьмет значение и вставит его в форму...

    если же это рисунок то все несколько сложнее:
    допустим капча у нас чисто циферная... берем 5 значное число перебираем 5 раз массив функцией rand впиндюриваем полученную строчку в форму... ждем 5 секунд -> проверяем значение которое находется между тегами где у нас поидее должно быть valid если нет функция повторяется... если да вуаля и спамим... скрипт довольно быстрый получается в обеих случаях...
     
  19. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    vuzy
    Парень, я понимаю что тебя сейчас распирает и ты перечитываешь весь форум...

    Но поднятие тем годичной давности считается некропостингом и не слишком уж поощряется на форумах.
     
  20. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Кто сказал, что это надо делать на javascript?
    Суть такова, что верификация каптчи делается на сервере. Если каптча введена верно, то у клиента появляется зеленая галочка. Если неверно - выдается новая каптча и красный крестик.