#алгоритм #защита
Какие НЕСТАНДАРТНЫЕ методы существуют для защиты сайта от ботов, чтобы они не могли тыкать и посылать запросы по определенной ссылке? Какие у Вас оригинальные мысли есть по этому вопросу? :) Captcha меня не устраивает, т.к. она достаточно надоедливая штука, и не оригинальная... Почему я задаю этот вопрос, а не ищу в интернете: В интернете конечно есть кучу информации по этому вопросу, и гугл выдаст мне примерно 6 770 000 (0,15 сек.) данных. Но на первых местах будут статьи, ссылки, теории о стандартных методах ухода от ботов. А чем более стандартный метод защиты - тем больше над обходом этого метода задействовано средств. Т.е. - тем более стандартный существует метод обхода. Поэтому я решил задать вопрос тут, и узнать мысли у Наших Специалистов! Известные мне защиты: Капча-обыкновенная (она же картинка) - дается пользователю картинка с искаженным текстом, необходимо ввести этот текст. Недостатки: Многие виды современных капчей-картинок распознать тяжело, даже если Вы не робот. Вариант обхода: Распознается с помощью OCR или специальных сервисов типа антигейт Текстовая капча (или вопрос-ответ) - дается пользователю текст (или картинка) с вопросом, например сложите 2 числа. Недостатки: Есть вероятность, что человек может не знать ответа. Вариант обхода: Обход по составляемой для популярных ресурсов базе, обновляемая база входит в комплект хрумера. Распознавание с помощью 3-их лиц, сервисы типа антигейт. Интерактивная капча - дается пользователю задание, которая решается манипуляцией объектов на странице. Например есть 4 картинки с надписями (1,2,3,4) их необходимо перетащить в область по возрастанию. Вот например. Недостатки Необходимо тестировать на всех браузерах (или ограничивать браузеры) Вариант обхода В принципе можно ухитриться на JS, но тут надо хорошо подумать бото-писателю ) Ловушка для бота - создаются невидимые элементы, всё что угодно, и бот либо попадает в эту область, либо он заполняет лишние данные, из-за которых действие не будет произведено. Варианты обхода эмулятор браузера, бот бродит в точности как человек. Еще одно ухищрение JS - при нажатии на кнопку, отправляются координаты нажатия на кнопку Варианты обхода ботописателю надо немного посидеть и посмотреть почему его бот не проходит (но т.к. все мы люди, то возможно он решит не связываться) сервисы фильтрации спама основана на вычленении каких-то признаков спама из текста сообщений и может быть IP адресов, может быть куках браузера Недостатки Не способна защитить формы регистрации, или какие-либо другие произвольные формы Вариант обхода С помощью управляемого браузера и не сильно агрессивного поведения бота, можно спамить Вот, что первым пришло в голову :) Суть вопроса еще в том, чтобы немного повысить свой багаж знаний. По данным ответам и комментариям уже появились новые мысли в этом направлении...
Ответы
Ответ 1
Ну хорошо, давайте устроим мозговой штурм. Замените ссылки a href=... на css-класс + привязанным к этому классу события в js. Уберите ссылки вообще, пусть ваши пользователи вместо этого пишите инструкции для пользователей (Чтобы выполнить запрос А, добавьте к адресу текущей страницы GET-параметр B со значением C...) Сделайте сайт в фреймах, нижний фрейм будет выполнять роль консоли, в которой пользователь пишет некоторые данные, которые от него требуются в верхнем фрейме. Данные будут синхронизироваться при помощи localStotage, comet или ajax. Используйте ссылки-капчи. Допустим есть ссылка "Продолжить", после нее в скобках стоит (нажмите на первую половину слова). Вариант п. 4. Сделайте три ссылки "Продолжить" с указанием какую именно их них нажать (ссылки могут быть разного цвета).Ответ 2
Фильтрация пользователей без поддержки JS & cookie. Ограничение периодичности запросов на сервер. В hidden readonly input средствами JavaScript записывается хеш-код информации всех полей формы. Значение повторно вычисляется на сервере и сравнивается с полученным. Проверка useragent Установить минимально допустимое время на заполнение формы. Обфускация или шифрование HTML & JS Установка капчи только для неавторизированных пользователей или новичков. Вот еще мой любимый, но немного странный способ (перенаправление запросов через JS).
Комментариев нет:
Отправить комментарий