Флажок Капча - PullRequest
       23

Флажок Капча

4 голосов
/ 11 февраля 2012

Я начинаю свой первый запуск. Я терпеть не могу пытаться читать капчи при регистрации на сайтах, не хочу, чтобы мои пользователи. Я искал альтернативы и нашел флажок captcha . Как это сделать, используя JavaScript для загрузки флажка и проверки того же кода, который обычно используется для создания формы регистрации?

Спасибо.

1 Ответ

4 голосов
/ 12 февраля 2012

Я посмотрел пример, связанный с опубликованной вами статьей. На первый взгляд кажется, что это легко обойти.

Флажок captcha работает на основе того, что спам-боты не анализируют или используют код JavaScript, встроенный в веб-страницы. Из-за этого они не найдут элемент флажка captcha внутри формы, в которой он ищет, и поэтому не будут отправлять значение сообщения для флажка вместе с формой, а на стороне сервера вы отклоните форму, если значение флажка не было отправлено.

Проблема с этим:

  • Имя флажка всегда одинаково (gasp_checkbox)
  • Бот легко может быть "обучен" распознавать этот javascript на вашей странице и действовать соответственно
  • Даже если вы выводите случайное имя и значение, которое должно использоваться для флажка, оно все равно может быть обнаружено

Исход из этих 3-х проблем означает, что это гораздо легче сломать, чем капчи изображения или другие методы. Все, что бот должен сделать при отправке вашей формы, это добавить: gasp_checkbox=on к своему HTTP-запросу.

Тем не менее, если вы реализуете это для себя на своем собственном сайте, маловероятно, что какие-либо боты смогут обойти это, потому что его использование не широко распространено.

Вы можете сделать его более безопасным, выполнив следующие действия:

  • Создать уникальные пары имя / значение для флажка на стороне сервера и вывести эти значения в обфусцированном javascript на клиент
  • Служите сценарию отдельно от формы, желательно во внешнем файле JavaScript, который создается сценарием.
  • Убедитесь, что значения, отправленные для флажка, соответствуют паре, которая была ранее сгенерирована и не использовалась ранее.

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

...