Защита от роботов. Руководство разработчика

Авторами поисковых запросов могут быть не только пользователи, но и роботы. При большом потоке запросов от роботов могут быть превышены ограничения, наложенные на использование Яндекс.XML.

Для предотвращения несанкционированных обращений роботов к поиску используется алгоритм защиты. Если предполагается, что запрос задан роботом, вместо результатов поиска возвращается CAPTCHA (статья в Википедии про CAPTCHA).

Для использования алгоритма защиты от роботов партнер должен передавать сведения об IP-адресе и куке spravka автора запроса. Кука spravka формируется на стороне Яндекс.XML и возвращается при первом обращении пользователя за результатами поиска. В полученном значении партнер должен заменить домен на свой, а затем добавить следующую строку к поисковому ответу:

Set-Cookie: spravka=...

Сведения об IP-адресе и куке spravka передаются в заголовке запроса в формате:

X-Real-Ip: 99.
999.999.99 Cookie: spravka=<значение, переданное от Яндекса>

Диаграмма последовательности действий, выполняемых для защиты от роботов, приведена на рисунке ниже.

  1. Пользователь отправляет запрос партнеру Яндекс.XML.

  2. Поисковый запрос отправляется сервису Яндекс.XML. Запрос должен соответствовать заданному формату.

  3. Яндекс.XML инициирует выполнение алгоритмов защиты от роботов. Для проверки используются значения IP-адреса и куки spravka (если ранее выставлена).

    Возможные результаты проверки:

    • Предположительно, запрос отправлен не роботом. Выполняется переход к пункту 13.

    • Предположительно, запрос отправлен роботом. Принимается решение об отображении CAPTCHA.

  4. Яндекс.XML возвращает партнеру XML-файл следующего формата:

    <?xml version="1.0" encoding="utf-8"?>
    <yandexsearch version="1.0">
    <response>
       <error code="100">Robot request</error>
    </response>
    <captcha-img-url>http://captcha. image.gif</captcha-img-url>
    <captcha-key>Идентификационный номер CAPTCHA</captcha-key>
    <captcha-status>Статус</captcha-status>
    </yandexsearch>
  5. Пользователю возвращается страница, содержащая CAPTCHA.

  6. Пользователь отправляет значение CAPTCHA партнеру.

  7. Партнер отправляет полученное от пользователя значение CAPTCHA GET-запросом следующего формата:

    https://yandex.ru/xcheckcaptcha?key=<идентификационный номер CAPTCHA>&rep=<введеное пользователем значение CAPTCHA>
  8. Полученное значение проверяется сервисом Яндекс.XML. Если введено некорректное значение CAPTCHA, выполняется переход к пункту 4. При этом в параметре captcha-status передается значение «failed».

  9. Если введено корректное значение CAPTCHA, Яндекс.XML выставляет пользователю куку spravka и передает ее партнеру в заголовке следующего формата:

    HTTP/1. 1 200 OK
    Set-Cookie: spravka=<значение куки>

    Если запрос, переданный в Яндекс.XML на шаге 1 был успешно сохранен, выполняется переход к шагу 12.

  10. Партнер предлагает пользователю ввести запрос.

  11. Пользователь отправляет запрос партнеру Яндекс.XML.

  12. Поисковый запрос отправляется сервису Яндекс.XML. С запросом передается IP-адрес пользователя и кука spravka.

  13. Яндекс.XML обрабатывает поисковый запрос и формирует результаты.

  14. XML-файл с результатами поиска возвращается партнеру.

  15. Партнер возвращает обработанный ответ пользователю. Если на шаге 9 Яндекс.XML выставил куку spravka, она сохраняется у пользователя.

Совет. Для ознакомления с реализацией приведенной схемы используйте данный скрипт.

Для ознакомления с форматом ответа, возвращаемого Яндекс.XML в случае отображения CAPTCHA, необходимо отправить в качестве запроса (значение параметра query поискового запроса) следующую строку: «e48a2b93de1740f48f6de0d45dc4192a».

Следующий GET-запрос может быть использован пользователем «xml-search-user» для ознакомления с форматом ответа, возвращаемым в случае отображения CAPTCHA:

wget -q --header="X-Real-Ip: 127.0.0.1" -SO- 'https://yandex.ru/search/xml?user=xml-search-user&key=03.44583456:c876e1b098gh65khg834ggg1jk4ll9j8&query=e48a2b93de1740f48f6de0d45dc4192a&showmecaptcha=yes'

captcha

  • Популярные
  • Последние
  • Без ответа
  • Как добавить на сайт форму обратной связи

    Пример формы обратной связи Как добавить такую форму на свой сайт Откройте приложение «Сайт» и перейдите в раздел «Блоки».

    Выберите блок с названием «site.send_email_form». Щелкните по фрагменту кода под надписью «Встроить…

  • +7Невозможно включить капчу от Google reCaptcha Не принято

    Здравствуйте. Стоит Shop-Script 6.2.0.4249, установлены все обновления. Пытаюсь включить Captcha от Googe, reCaptcha — захожу в /webasyst/shop/?action=settings , включаю reCaptcha, ввожу siteKey и Secret, нажимаю «Сохранить» и не выдает…

  • +4Yandex SmartCaptcha для Webasyst На рассмотрении

    В свете последних событий есть подозрение, что Google уедет, а мы останемся. Может быть рассмотреть вариант подключения Yandex SmartCaptcha? https://cloud.yandex.ru/servic… define(‘SMARTCAPTCHA_SERVER_KEY’,…

  • Как включить reCAPTCHA

    Перейдите на сайт Google reCAPTCHA и щелкните по кнопке «Admin console». Авторизуйтесь в своем аккаунте Google или зарегистрируйте новый. Заполните форму регистрации сайта и сохраните введенные данные кнопкой «Отправить». Скопируйте…

  • Приложение Метрика: Captcha, Recaptcha Есть решение

    Добрый день!Пользуемся приложением метрика (последнее обновление 4 декабря, wa 1. 9.7.287), не отображается recaptcha и captcha при превышении запросов по настройкам, просто страница с уведомлением, в консоли ссылается на javascript…

  • Неправильная работа капчи Есть решение

    Добрый день!Некоторое время назад заметил, что капча на сайте работает неправильно. Какой бы код не вводил в это поле (верный код и не верный), капча не проходит проверку. Изучил данную статью https://support.webasyst.ru/4720/add-feedback-form… и…

  • Заменить стандартную captcha на recaptcha в разделе Сайт

    Заменить стандартную capcha на recaptcha в форме обратной связи

  • org/Question»>

    Капча для копии магазина на поддомене

    Доброго времени суток!В наличии две копии магазина движка еще версии 2.89 на основном домене и на поддомене. Работают от одной базы, имеют общий архив картинок. С сайтом на основном домене проблем нет.Сайт который на поддомене не отображает капчу. На…

  • Замена стандартной капчи на Google reCAPTCHA в форме регистрации

    В настройках магазина выбран и настроен пункт : Капча: Google reCAPTCHAВыбранный тип будет использован на витрине вашего интернет-магазина везде, где показывается капча. /webasyst/shop/?action=settingsв бекэнде: Сайт/ Личный кабинет / Настройка…

  • Не отображается капча при регистрации

    Всем доброго дня!Не подскажете, по какой причине может не отображаться капча при регистрации — http://shikhalal.com/?Ни каких изменений не вносилось, сайт не переносили на другой хост.

  • org/Question»>

    Recaptcha на других языках Есть решение

    Всем привет!Очень хочу знать, как сделать, чтобы recaptcha была на русском и английском языках (в зависимости от языка витрины). А то сейчас она только на английском языке:Например, тут: http://beeko.ru/otzyvy/

  • org/Question»>

    nginx + php5-fpm + captcha

    ПриветствуюСразу скажу это не вопрос это сразу ответ всем тем кто будет 4 часа мучаться и искать как исправить ошибку с капчей. Если вы этот вопрос читаете — значит уже перечитали все стандартные ответы «мол загляните в faq» с правильным…

  • Установка капчи в форму подписки на рассылку Есть решение

    Собственно, хочу знать, как это сделать. А то пачками боты подписываются на рассылку ежедневно. Или как вычислить IP-ник зареганного контакта, чтобы сразу его же забанить?сайт http://beeko.ru — форма подписки в футере и на главной странице

  • Капча

    В блоге хочу добавить гугл рекапчу или какие-нибудь аналоги на добавление комментариев, но после добавления гугл рекапчи она не реагирует на input submit, хотя рекапча расположена там где надо, в чем может быть проблема?

  • org/Question»>

    Не отображается captcha

    Переехал на новый сервак php-fpm + nginx — перестала отображаться капчаМожет кто-нибудь знает, как настроить конфиг nignx для корректного отображения капчи?

  • Защита от фальшивых спам-заказов

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

  • Капча не отображается

    Обнаружил, что при использовании расширения PHP ImageMagick не работает капча в форме обратной связи {$wa->block(«site.send_email_form»)}. Как только переключился на GD, то капча заработала. Это у меня что-то не так или все же лучше…

  • org/Question»>

    Как убрать капчу в контактной форме? Есть решение

    Здравствуйте!Как убрать капчу в контактной форме? Не только из html, но из серверной части, чтобы не требовал его ввод и отправлял письма без нее.Спасибо!

История этих волнистых компьютерных букв

Если вы пользуетесь Интернетом, вы, вероятно, сталкивались с надоедливым изобретением под названием CAPTCHA.

Это скомканные, растянутые и волнистые наборы букв с цветными пятнами, которые часто приходится расшифровывать перед отправкой электронного письма, публикацией комментария или покупкой билета.

Это «и» или «л»? Вы задаетесь вопросом. Ноль или буква «О»? Может быть, вы видите три буквы там, где, кажется, должно быть только две. Вы наклоняете голову. Ты отодвигаешь стул назад и щуришься. Вы задаетесь вопросом, нужны ли вам новые очки.

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

CAPTCHA была создана в Университете Карнеги-Меллона в 2000 году. Название является сокращением от «Полностью автоматизированный публичный тест Тьюринга для разделения компьютеров и людей». Веб-сайты нуждаются в CAPTCHA для защиты от «ботов» спамеров и других типов компьютерного преступного мира.

«Каждый может написать программу для регистрации миллионов учетных записей, и идея состояла в том, чтобы предотвратить это», — сказал Луис фон Ан, профессор Университета Карнеги-Меллона, который был частью команды CAPTCHA. Маленькие головоломки работают, потому что компьютеры не так хорошо умеют читать искаженный текст, как люди. Google говорит, что люди решают 200 миллионов CAPTCHA в день.

Однако со временем компьютеры плохих парней становились умнее, а люди — нет. CAPTCHA должны усложняться для пользователей, потому что они проще для компьютеров.

«Это гонка вооружений между владельцами сайтов и спамерами; пользователи проигрывают», — сказал Джереми Элсон, исследователь Microsoft Research, разработавший CAPTCHA под названием Asirra. Используются изображения собак и кошек.

Фон Ан сказал, что в настоящее время существует «вероятно, сотни» различных видов CAPTCHA. Он работал над одним из самых больших проектов, reCAPTCHA. Google купил его и теперь предлагает бесплатно. Пользователи должны расшифровать два слова для reCAPTCHA. Один из них, обычно более легкий, взят из старой книги. Компьютеризированный сканер не смог прочитать его должным образом, и пользователи reCAPTCHA получают шанс сделать работу правильно, тем самым помогая Google оцифровывать книги.

Фон Ан сказал, что, по его мнению, некоторые виды CAPTCHA стали сложнее. ReCAPTCHA сложнее, чем в 2000 году, но последние два года она находится примерно на том же уровне сложности. По его словам, в среднем люди тратят девять секунд на решение reCAPTCHA, и 92 процента из них делают это правильно. В 2000 году показатель успеха составлял 97 процентов. Буквы станут еще более искаженными, когда начнет поступать слишком много спамеров.

Фон Ан сказал, что не знает, сколько людей сдаются, когда видят сложную CAPTCHA или просят новые слова. Он также не знал, было ли у пожилых людей больше проблем, чем у молодых, но есть причина задуматься.

Роберт Серготт, нейроофтальмолог глазной больницы Уиллс в Филадельфии, сказал, что пожилые люди более склонны к катаракте, глаукоме и дегенерации желтого пятна — глазным заболеваниям, которые могут сделать зрение нечетким, особенно при низком контрасте между буквами и их фоном. Пожилые люди лучше читают, когда есть высокая контрастность и больше места между буквами, что в значительной степени противоположно тому, что предлагают некоторые CAPTCHA.

«У многих молодых людей тоже проблемы со зрением, — сказал Серготт. «У меня были ошибки при этом. Я думаю, что у всех есть. Как вы собираетесь сбалансировать безопасность, не делая это невыполнимой задачей для определенных людей?»

Рэйчел Гринштадт, профессор компьютерных наук в Университете Дрекселя, специализирующаяся на пересечении искусственного интеллекта и безопасности, сказала, что существуют звуковые альтернативы письменным CAPTCHA. ReCAPTCHA использует произнесенные слова и много фонового шума. Их «еще сложнее решить, и их легче сломать», — сказала она.

В 2009 году Гарри Хочхайзер, доцент кафедры биомедицинской информации в Университете Питтсбурга, провел небольшое исследование аудио reCAPTCHA. В нем участвовали пять слепых, в том числе один с остаточным зрением. Они правильно прошли звуковую капчу в 45% случаев, и им потребовалось 65 секунд, чтобы выполнить задание.

Он говорит, что не знает, какое решение, но интересуется, нужна ли некоторым сайтам такая защита. «Вполне возможно, что есть люди, которых трудности обескураживают», — сказал он.

Он указал, что некоторые политики требуют, чтобы люди разгадывали CAPTCHA перед отправкой им электронной почты. А как же The Philadelphia Inquirer? он спросил. Газета позволяет читателям отправить редактору электронное письмо без решения CAPTCHA, но они используются для некоторых задач на веб-сайте The Inquirer, philly.com.

Л. Джин Кэмп, преподающий информатику в Университете Индианы в Блумингтоне, акцентирует внимание на том, насколько сложно понять компьютерную безопасность большинству людей.

«Технологии безопасности, как правило, разрабатываются молодыми людьми мужского пола, обладающими большим опытом работы с компьютерами», — сказала она.

Компании не воспринимают всерьез пользователей компьютеров старшего возраста, сказала она. «Я не знаю ни одной технологической компании, ни одной, которая наняла бы геронтолога. Ни одной. Что для меня удивительно», — сказала она.

Решение проблемы CAPTCHA заключается в том, чтобы компании вкладывали больше средств в обнаружение спама, сказала она. «Просто проще и дешевле сказать человеку: «Нет, ты реши это». Она сказала, что некоторые спамеры теперь нанимают людей из-за рубежа для разгадывания CAPTCHA.

Компания Drexel’s Greenstadt видит положительную сторону в растущей сложности CAPTCHA. По ее словам, это «триумф искусственного интеллекта и оптического распознавания символов».

Создать лучшую CAPTCHA сложно. «Компьютер должен быть в состоянии генерировать проблему и проверять ее правильность, но не решать ее, а человек должен уметь ее решать», — сказала она.

Фон Ан говорит, что ситуация далека от критической точки. Большинство людей могут решить CAPTCHA, даже если они выросли с другим алфавитом.

Он открывает нам маленький секрет: пользователям не обязательно быть идеальными. Компьютеры знают, что некоторые буквы выглядят одинаково, и дают пользователям повод для сомнений. Даже у дислексиков все в порядке.

«Мы позволяем вам немного ошибаться, и спамеры тоже это знают», — сказал фон Ан.

Он говорит, что некоторые из нас слишком много думают, а потом печатают, нервничая. Это только повышает шансы на ошибку. — Я расскажу тебе хитрость, — сказал он. «Печатайте то, что видите. Что угодно. Не думайте об этом слишком много».

Текущий проект фон Ана — это duoLingo, способ одновременного перевода документов и изучения нового языка. Сейчас он не занимается CAPTCHA, но говорит, что люди, вероятно, смогут побеждать машины еще лет 10. «Я уверен, что в какой-то момент компьютеры будут так же хороши в этом, как и люди», — сказал он. «В этот момент нам придется придумать что-то еще».

(c) 2012 The Philadelphia Inquirer
Распространяется информационными службами MCT

Цитата : CAPTCHA: История этих волнистых компьютерных букв (2012, 15 июня) получено 14 декабря 2022 г. с https://phys.org/news/2012-06-captcha-story-squiggly-letters.html

Этот документ защищен авторским правом. Помимо любой добросовестной сделки с целью частного изучения или исследования, никакие часть может быть воспроизведена без письменного разрешения. Контент предоставляется только в ознакомительных целях.

Я не робот — как работает CAPTCHA?

Вы когда-нибудь сидели перед компьютером и просили доказать, что вы не робот? Это явление может показаться довольно странным, если подумать, должен ли я доказывать машине, что я не машина? Многие люди, вероятно, узнают название этой функции, CAPTCHA. Но как работает CAPTCHA и зачем она нужна?

Что такое CAPTCHA?

CAPTCHA — довольно сложная аббревиатура. Это расшифровывается как «Полностью автоматизированный публичный тест Тьюринга», чтобы отличить компьютеры от людей. Возможно, не самая сексуальная аббревиатура в мире. CAPTCHA была изобретена в конце 90 с. В то время была популярна поисковая система Altavista. Даже тогда люди часто программировали роботов спамить различные страницы или оставлять неверные URL-адреса. Чтобы это не попало в базу данных ссылок Altavista, они внедрили CAPTCHA.

Оптическое распознавание символов

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

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

Leetspeak

Однако идея использования технологий для обмана или обхода других технологий не была совершенно новой, когда была изобретена CAPTCHA. Литспик, или 1337С34К как еще можно написать, это то, что зародилось в начале 80-х. Это был способ сделать информацию менее доступной для поиска роботами и иметь возможность обойти такие вещи, как фильтры для нецензурных слов и тому подобное. Это то, что используется до сих пор. €4 $ y f0r u $ t0 r€4d, h5rd f0r c0mpu7€r$.

Безопасный скрипт

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

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

reCAPTCHA

Я не робот. Это поле, на которое вы часто нажимаете в различных контекстах в Интернете. Решение, которое на первый взгляд выглядит очень простым. Итак, если компьютеры сегодня такие умные, как они могут не поставить галочку напротив «Я не робот»?

Ну, это довольно крутая функция, которую изобрел Google.