После прочтения заметки о начале моей борьбы с роботами, многие предложили использовать стандартные средства вроде капчи или поля для ввода, скрытого свойствами CSS. Были и нестандартные варианты, вроде распознавания зрительных образов(кошечка это или собачка изображена на картинке?), анализа движения мыши по странице перед отправкой комментария или путаницы в именах полей.
Некоторые из этих способов мне нравятся, некоторые — нет. Скажем, несмотря на эффективность отсеивания спама с помощью капчи, ее использование представляется мне нецелесообразным, равно как и использование распознавания образов. Прикиньте сами — пользователю каждый раз приходится доказывать что он не верблюд. Я бы на его месте обиделся.
Другие действия по проведению грани между роботами и живыми людьми, вроде анализа движения мыши по странице перед отправкой комментария, видятся мне чересчур усложненными. С тем-же результатом можно проверить, поддерживает ли робот Javascript или нет. При этом в любом случае пользователи с отключенным Javascript остаются за бортом. Это нехорошо, несмотря на малое их количество. Также не стоит забывать про то, что скрипты на стороне клиента эмулировать очень просто, а следовательно, для серьезных систем защиты они не подходят.
А вот способы, незаметные для простого пользователя, я считаю наиболее удачными. В небольших проектах, где не требуется защита от специализированных роботов, стоит использовать именно такие решения. Это скрытие(display:none) специального поля ввода «для спамеров» — обычный пользователь его не увидит, а робот в него обязательно что-нибудь напишет. Еще можно организовать путаницу в названиях полей — поле с постовым адресом обозвать «name». В результате в него будет вбито имя спамера и оно не пройдет валидацию.
Методы, описанные в последней группе хороши в первую очередь тем, что пользователь не доказывает никому что он не спамер — спамеры сами выдают себя. В худшем случае пользователю каждый раз придется соглашаться с тем, что не верблюд — не заполнять пустое поле для спамеров. Мне кажется подобный подход со временем будет становиться более популярным, нежели использование исключительно капчи, несмотря на эффективность последней.
Уже сейчас в крупных сервисах капча зачастую появляется для отсева потенциально роботизированных пользователей — к примеру тех, что с 1й попытки не смог вспомнить свой пароль. Или тех, кто оставляет более 5 комментариев за 5 минут. Т.е. работает презумпция невиновности — пользователь считается человеком, пока не совершит чего-то, не свойственного человеку, но свойственному роботу. Можно развить подобное отношение к пользователям, принимая для анализа не только текущие действия, но и всю накопленную историю по этому пользователю.
К сожалению я не имею развернутой статистики по роботам и их поведению. Это неплохая цель для исследования. Возможно даже я займусь этим. Если бы такая статистика была, то можно было бы говорить о роботах более конкретно, указывая конкретные цифры. Согласитесь — было бы интересно знать процент роботов, умеющих обходить определенный тип защиты. Или владеющих уникальными навыками (к примеру умеющих обрабатывать Javascript или маскирующихся под живых людей при перемещении по сайту). Это позволило бы более эффективно выстраивать политику защиты сайтов от спама.
Я хочу провести аналогию. Как в казино наблюдают за посетителями, не мешая их игре и пытаясь вычислить шулеров на основе анализа их поведения, так и я хочу видеть системы защиты сайтов, выявляющие спам-роботов, ориентируясь не только на его сиюминутные действия, но на историю его действий в прошлом и особенности поведения. Думаю, владея подобной информацией, можно выявлять роботов(в том числе и специализированных) достаточно эффективно, не мешая простым пользователям.
взято из моего блога
Некоторые из этих способов мне нравятся, некоторые — нет. Скажем, несмотря на эффективность отсеивания спама с помощью капчи, ее использование представляется мне нецелесообразным, равно как и использование распознавания образов. Прикиньте сами — пользователю каждый раз приходится доказывать что он не верблюд. Я бы на его месте обиделся.
Другие действия по проведению грани между роботами и живыми людьми, вроде анализа движения мыши по странице перед отправкой комментария, видятся мне чересчур усложненными. С тем-же результатом можно проверить, поддерживает ли робот Javascript или нет. При этом в любом случае пользователи с отключенным Javascript остаются за бортом. Это нехорошо, несмотря на малое их количество. Также не стоит забывать про то, что скрипты на стороне клиента эмулировать очень просто, а следовательно, для серьезных систем защиты они не подходят.
А вот способы, незаметные для простого пользователя, я считаю наиболее удачными. В небольших проектах, где не требуется защита от специализированных роботов, стоит использовать именно такие решения. Это скрытие(display:none) специального поля ввода «для спамеров» — обычный пользователь его не увидит, а робот в него обязательно что-нибудь напишет. Еще можно организовать путаницу в названиях полей — поле с постовым адресом обозвать «name». В результате в него будет вбито имя спамера и оно не пройдет валидацию.
Методы, описанные в последней группе хороши в первую очередь тем, что пользователь не доказывает никому что он не спамер — спамеры сами выдают себя. В худшем случае пользователю каждый раз придется соглашаться с тем, что не верблюд — не заполнять пустое поле для спамеров. Мне кажется подобный подход со временем будет становиться более популярным, нежели использование исключительно капчи, несмотря на эффективность последней.
Уже сейчас в крупных сервисах капча зачастую появляется для отсева потенциально роботизированных пользователей — к примеру тех, что с 1й попытки не смог вспомнить свой пароль. Или тех, кто оставляет более 5 комментариев за 5 минут. Т.е. работает презумпция невиновности — пользователь считается человеком, пока не совершит чего-то, не свойственного человеку, но свойственному роботу. Можно развить подобное отношение к пользователям, принимая для анализа не только текущие действия, но и всю накопленную историю по этому пользователю.
К сожалению я не имею развернутой статистики по роботам и их поведению. Это неплохая цель для исследования. Возможно даже я займусь этим. Если бы такая статистика была, то можно было бы говорить о роботах более конкретно, указывая конкретные цифры. Согласитесь — было бы интересно знать процент роботов, умеющих обходить определенный тип защиты. Или владеющих уникальными навыками (к примеру умеющих обрабатывать Javascript или маскирующихся под живых людей при перемещении по сайту). Это позволило бы более эффективно выстраивать политику защиты сайтов от спама.
Я хочу провести аналогию. Как в казино наблюдают за посетителями, не мешая их игре и пытаясь вычислить шулеров на основе анализа их поведения, так и я хочу видеть системы защиты сайтов, выявляющие спам-роботов, ориентируясь не только на его сиюминутные действия, но на историю его действий в прошлом и особенности поведения. Думаю, владея подобной информацией, можно выявлять роботов(в том числе и специализированных) достаточно эффективно, не мешая простым пользователям.
взято из моего блога