Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Captcha
ReCaptcha
NoCaptcha
...
Начало начал
Давным давно, когда в интернете еще не
было школьников, боты были еще слишком
глупы и гипертекстовый векторны...
С чем боролись
● Накрутка голосований и опросов
● Фейковые учетки
● Реклама и прочий спам
● Нагрузка на сервера от «тяжелы...
Как боролись
● Множество самописных генераторов «капч»
Как боролись
● Хитрые «собери-пазл», «реши пример» и
прочие «матан» капчи
Как боролись
● Горшочки с медом — Honeypots
невидимые пользователю поля будут заполнены ботом
● Time stamps
анализ времени...
Как боролись
● Captcha от гигантов индустрии.
Так одним из известнейших стал ReCaptcha, купленный в 2009
году компанией Go...
Google ReCaptcha
Плюсы ReCaptcha
● Простой API
● Возможность переопределения поведения, explicit render
● Есть готовые клиенты для валидаци...
Минусы ReCaptcha
● Появились биржи распознавания капчи
Миллион индусов упорней, чем вам кажется
Минусы ReCaptcha
● Невозможность добавить более 1 рекапчи на
страницу (если быть честным, то можно, но
это особый вид маги...
Минусы ReCaptcha
● Зачастую невозможно прочитать текст, что
сильно раздражает пользователей
ReCaptcha
● В 2013 году в ReCaptcha были внесены изменения,
результатом которых стала упрощенная капча. При редких
запроса...
ReCaptcha 2.0
Анонсированная в декабре 2014 года ReCaptcha 2.0 была
призвана исправить существовавшие недостатки. И, что с...
ReCaptcha 2.0
Когда капча не уверена что вы не робот,
она попросит выбрать котика.
В совсем запущенном случае будет
показа...
Что изменилось
● Теперь можно делать много экземпларов
капчи на 1 странице без лишних сложностей
● Изменился механизм вери...
Пример использования (default)
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.co...
Пример использования (explicit)
<script type="text/javascript">
var onloadCallback = function() {
alert("grecaptcha is rea...
Пример использования (explicit)
<script type="text/javascript">
var onloadCallback = function() {
alert("grecaptcha is rea...
Пример использования (несколько
виджетов)
Показать пример
Всякое разное
● Работа при отключенном JS
Вопросы?
Upcoming SlideShare
Loading in …5
×

NoCaptcha

763 views

Published on

Презентация Андрея Соболевского на GDG Vladivostok Meetup 04.04.2015

Published in: Software
  • Be the first to comment

  • Be the first to like this

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. Вопросы?

×