Successfully reported this slideshow.
Your SlideShare is downloading. ×

NoCaptcha

More Related Content

Slideshows for you

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

NoCaptcha

  1. 1. Captcha ReCaptcha NoCaptcha ...
  2. 2. Начало начал Давным давно, когда в интернете еще не было школьников, боты были еще слишком глупы и гипертекстовый векторный FidoNet правил балом, можно было жить не тужить. Время шло, школьники подросли, боты обучились и началось извечное противостояние.
  3. 3. С чем боролись ● Накрутка голосований и опросов ● Фейковые учетки ● Реклама и прочий спам ● Нагрузка на сервера от «тяжелых» запросов
  4. 4. Как боролись ● Множество самописных генераторов «капч»
  5. 5. Как боролись ● Хитрые «собери-пазл», «реши пример» и прочие «матан» капчи
  6. 6. Как боролись ● Горшочки с медом — Honeypots невидимые пользователю поля будут заполнены ботом ● Time stamps анализ времени нахождения на сайте в скорости заполнения формы ● Прочие аналитики полет мысли ничто не ограничивает, творим все что не запрещено УК РФ
  7. 7. Как боролись ● Captcha от гигантов индустрии. Так одним из известнейших стал ReCaptcha, купленный в 2009 году компанией Google. Докажи что ты не робот — помоги распознать тексты книг
  8. 8. Google ReCaptcha
  9. 9. Плюсы ReCaptcha ● Простой API ● Возможность переопределения поведения, explicit render ● Есть готовые клиенты для валидации введенного значения ● Настройка тем и языка <script type="text/javascript"> var RecaptchaOptions = { theme : 'custom', custom_theme_widget: 'recaptcha_widget', lang: 'ru' custom_translations : { instructions_visual : "А не робот ли ты?", incorrect_try_again : "Где-то я тебя видел? Не в Футураме ла? Бендер?!", refresh_btn : "Я не Бендер. Хочу попробовать еще раз"} }; </script>
  10. 10. Минусы ReCaptcha ● Появились биржи распознавания капчи Миллион индусов упорней, чем вам кажется
  11. 11. Минусы ReCaptcha ● Невозможность добавить более 1 рекапчи на страницу (если быть честным, то можно, но это особый вид магии и не всегда это оправдано). Все это сильно усложняет поведение и добавляет множетство вещей, которые необходимо контролировать.
  12. 12. Минусы ReCaptcha ● Зачастую невозможно прочитать текст, что сильно раздражает пользователей
  13. 13. ReCaptcha ● В 2013 году в ReCaptcha были внесены изменения, результатом которых стала упрощенная капча. При редких запросах из нескомпрометированных подсетей капча была до неприличия простой
  14. 14. ReCaptcha 2.0 Анонсированная в декабре 2014 года ReCaptcha 2.0 была призвана исправить существовавшие недостатки. И, что самое важное, стать максимально простой для людей.
  15. 15. ReCaptcha 2.0 Когда капча не уверена что вы не робот, она попросит выбрать котика. В совсем запущенном случае будет показана старая добрая капча со сканами книг.
  16. 16. Что изменилось ● Теперь можно делать много экземпларов капчи на 1 странице без лишних сложностей ● Изменился механизм верификации ● Добавилась статистика запросов NoCaptcha ● Улучшенная работа клиентского виджета
  17. 17. Пример использования (default) <html> <head> <title>reCAPTCHA demo: Simple page</title> <script src="https://www.google.com/recaptcha/api.js" async defer></script> </head> <body> <form action="?" method="POST"> <div class="g-recaptcha" data-sitekey="your_site_key"></div> <br/> <input type="submit" value="Submit"> </form> </body> </html> Как получить код валидации - grecaptcha.getResponse() - request.POST['g-recaptcha-response'] Как проверить код валидации [POST] URL: https://www.google.com/recaptcha/api/siteverify secret Required. The shared key between your site and ReCAPTCHA. response Required. The user response token provided by the reCAPTCHA to the user and provided to your site on. remoteip Optional. The user's IP address. Ответ { "success": false, "error-codes": [ "missing-input-response", "missing-input-secret" ] }
  18. 18. Пример использования (explicit) <script type="text/javascript"> var onloadCallback = function() { alert("grecaptcha is ready!"); }; </script> <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> Тут получим алерт при загрузке капчи
  19. 19. Пример использования (explicit) <script type="text/javascript"> var onloadCallback = function() { alert("grecaptcha is ready!"); }; </script> <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> Доступные параметры (api.js) Onload callbackFn имя колбэк функции Render explicit | onload Необязательны параметр. Указываем надо ли явно определять процедуру отрисовки. По умолчанию рендериться будет первый найденный div c id='g-recaptcha' hl Явное указание языка выджета. По умолчанию язык будет определяться автоматически
  20. 20. Пример использования (несколько виджетов) Показать пример
  21. 21. Всякое разное ● Работа при отключенном JS
  22. 22. Вопросы?

×