Вначале давайте разберемся и определим цель, от чего мы хотим защититься. А именно, мы должны блокировать все комментарии, оставленные, так сказать, не человеком. Естественно, мы понимаем, что работая в обозревателе нельзя вручную прокомментировать тысячи публикаций. Наша цель – роботы, как раз которые и занимаются вставкой ссылок в комментарии на нужные сайты. Роботы прежде всего работают по принципу парсера, который видит исходный код веб-страницы, умеет определять тип площадки, поля, ссылки и, возможно, многое другое. Единственное что не может наш абстрактный робот – это выполнять javascript. В этом и заключается ключевой момент нашей защиты.
Мой плагин (невидимая капча для WordPress) ориентирован как раз на работу через обозреватель. Принцип невидимой капчи заключается в том, что при загрузке страницы выполняется код на javascript, в котором кнопочке “Отправить комментарий” добавляются некие события. Это происходит только в том случае, если страницу открыть именно в обозревателе. Что за события? Всё на самом деле очень просто. Это ‘mousedown’ и ‘keypress’, которые возникают в момент нажатия кнопки мыши или клавиатуры, соответственно. В самой функции обработчика события меняется некая переменная, которая и является ключевой в отсеивании комментариев.
В качестве дополнительной обороны, все переменные, идентификаторы и значения представляют сбой случайные наборы символов. В каждом блоге они уникальны на любой момент времени. Именно это и делает невидимую капчу практически непробиваемой.
Посетителям сайта больше не нужно вводить цифры и буквы с ужасных картинок. Javascript=Браузер=Человек.
Сам плагин можно скачать здесь: http://wordpress.org/extend/plugins/invisible-captcha/