Так как мы знаем принцип действия этого плагина, проверить его работу не составит никакого труда. Напишите комментарий и отправьте его не кликом мыши по кнопке, а нажатием клавиши Enter с клавиатуры, предварительно поставив фокус на кнопку. Капча определит вас как робота, ведь клика мышью по кнопке не состоялось )
Всё гениальное просто ))
Спасибо Dandr-у за проверку =)
Обновлено: Теперь работает и событие onKeyPress, то есть определение человека происходит не только по клику мыши по кнопке “Отправить”, но и при нажатии клавиш Enter или Space на сфокусированной кнопке.
Если честно, я и забыл, что такое спам (за исключением Ваших крокозябров в комментариях, уважаемые посетители
и как видите (то есть не видите), вместе с невидимой капчей
)
Понравилась статья? Подпишитесь на RSS .
2009-2012 Блог Андрея Сорвина
gdfgdgfgdfgdfggdfg
[Ответить на комментарий]
@fdgfdgdf, господа, не срите у меня в комментариях, пожалуйста =)
[Ответить на комментарий]
@Андрей, sdfdf
[Ответить на комментарий]
@sdfdsf, срать в комментах, или не срать. Вот в чём вопрос. Меня утешает только то, что все эти комментарии оставлены людьми
[Ответить на комментарий]
Работает. На себе проверил )
[Ответить на комментарий]
@Павел, механизм для того и создан, чтобы работать
[Ответить на комментарий]
@Павел, проверяем…
[Ответить на комментарий]
Да, собственно, не за что.
Понимал, что не должОн пройти такой камент, но было интересно убедиться на практике))
[Ответить на комментарий]
ccx
[Ответить на комментарий]
teste
[Ответить на комментарий]
test
[Ответить на комментарий]
gdfgdfgdf
[Ответить на комментарий]
Сделал, не работает. То есть, комментарий прошёл. Как здесь «No spam» не выскакивает. В чём проблема? PHP5, WP 2.8.4.Eng, Opera.
[Ответить на комментарий]
Заработало! Народ, отключайте кэш!
[Ответить на комментарий]
coucou
[Ответить на комментарий]
Сейчас проверим. Работает =)
[Ответить на комментарий]
выф
[Ответить на комментарий]
12
[Ответить на комментарий]
проверочка)
[Ответить на комментарий]
Хорошо, не буду срать в комментариях.ю
[Ответить на комментарий]
олодло
[Ответить на комментарий]
ssss xvg
[Ответить на комментарий]
123
[Ответить на комментарий]
вавапвап
[Ответить на комментарий]
Это нарушает функционал, заложенный в самом браузере. Некоторым, в том числе и мне, при написании комментария удобнее пользоваться клавиатурой для переключения по полям формы и нажимания на кнопку “Отправить”. Я, по мнению вашего плагина, робот. Круто:)
[Ответить на комментарий]
@Enlightened, у любого явления всегда есть две стороны. Одна – хорошая, другая – нажатие на кнопку с клавиатуры. На одну чашу весов кладется избавление пользователей от неудобной и назойливой капчи и отличная защита от спама, на другую чашу – всего лишь нажатие на кнопку с клавиатуры.
[Ответить на комментарий]
а еще проблема Javascript в IE8.
Object Expected.
“на другую чашу – всего лишь нажатие на кнопку с клавиатуры” – а как-же права disabled?
надо бы найти метод обрабатывать нажатие на кнопку с клавиатуры, благо работать по идее как-то должно.
[Ответить на комментарий]
отправить с клавиатуры
[Ответить на комментарий]
Нужно после строчки addHandler(but, ‘mousedown’, set_invisible_cap2tcha_ok);
добавить эту addHandler(but, ‘keypress’, set_invisible_cap2tcha_ok);
И теперь работает с клавиатурки ))
[Ответить на комментарий]
по поводу проблем с IE – я подозреваю что JS ошибка возникает у всех незалогиненых пользователей под любыми браузерами на страницах на которых нет comment_form но есть футер.
(у меня в блоге такова индексная страница).
В любом случае после var but = document.getElementById(‘submit’);
надо проверить а нашли ли его.
собственно хвостик будет такой:
if (but) {
var inv_cap = document.getElementById(‘invisible_cap2tcha_s’);
var submit_p = but.parentNode;
submit_p.appendChild(inv_cap, but);
addHandler(but, ‘mousedown’, set_invisible_cap2tcha_ok);
addHandler(but, ‘keypress’, set_invisible_cap2tcha_ok);
}
[Ответить на комментарий]
@mik1264, ну хорошо. А если не нашли, то тогда что делаем?
[Ответить на комментарий]
@Андрей, ничего не делаем, т.е. не добавляем handlers и ничего не обрабатываем (на уровне JS). Собственно это основное правило такого рода правок, если не нашли объект к которому прописываем альтернативное поведение то ничего не делаем.
[Ответить на комментарий]
@mik1264, и пропускаем роботов?
[Ответить на комментарий]
@Андрей,
but = document.getElementById(’submit’);
если не but то на странице нет кнопки submit
роботам некуда пойти.
и вообще – если мы ищем элемент в JS по ID или еще как, то ветка что делать елси мы его не находим должна предусматриваться всегда!
[ссылка] – все работает, спам не проходит, комменты проходят.
function addHandler(object, event, handler)
{
if (typeof object.addEventListener != ‘undefined’)
object.addEventListener(event, handler, false);
else if (typeof object.attachEvent != ‘undefined’)
object.attachEvent(‘on’ + event, handler);
else
throw ‘Incompatible browser’;
}
function set_invisible_cap2tcha_ok()
{
var o = document.getElementById(‘invisible_cap2tcha_s’);
o.value=’1′;
}
var but = document.getElementById(‘submit’);
if (but) {
var inv_cap = document.getElementById(‘invisible_cap2tcha_s’);
var submit_p = but.parentNode;
submit_p.appendChild(inv_cap, but);
addHandler(but, ‘mousedown’, set_invisible_cap2tcha_ok);
addHandler(but, ‘keypress’, set_invisible_cap2tcha_ok);
}
[Ответить на комментарий]
123
[Ответить на комментарий]
456
[Ответить на комментарий]
Удивительно что комментарии проходят и из-под Opera Mini (Java браузер для мобильников) поддержка JavaScript в котором очень ограничена.
[ссылка]
судя по всему хэндлеры на кнопки им все-таки обрабатываются.
правда это наводит на мысли что в не очень далеком будущем хендлеры на кнопки начнут обрабатывать и спам-боты, и этот подход станет нерабочим. хотя кто знает …
[Ответить на комментарий]
@mik1264, я сам пишу робота, работающего с блогами, и знаю одно. Для того, чтобы роботы-спамеры работали с js, программисты должны сами написать транслятор, работающий с js.
[Ответить на комментарий]
тест тест тест
[Ответить на комментарий]
gffdgdfjjjdfkgjdfhgf
[Ответить на комментарий]
дощшщ
[Ответить на комментарий]
Андрей, а как же теперь проверить работоспособность плагина, если через таб ентер также комментарий публикуется? Просто боюсь, что плагин мог не встать на мою тему, есть ли способ быстренько проверить?
[Ответить на комментарий]
@Валентин, смотри на

скриншот.
Невидимая капча отлавливает спамеров и помещает их комментарии в раздел “Спам” в административной панели.
Это и сигнализирует о работоспособности моего плагина.
[Ответить на комментарий]
@Андрей, Спасибо, работает. Уже штук 20 отловил! Работает идеально. Ещё раз спасибо
[Ответить на комментарий]
@Валентин, пользуйся наздоровье )
[Ответить на комментарий]
пробуем
[Ответить на комментарий]
Вроде работает
[Ответить на комментарий]
@Тестер, не вроде, а работает )
[Ответить на комментарий]
Будем пробовать
[Ответить на комментарий]
фыва
[Ответить на комментарий]
ouihyu
[Ответить на комментарий]
а у меня вроде не работает. Плагин должен работать на WPMU? Все комменты валятся в pending, а не spam. что делать?
[Ответить на комментарий]
поставил плагин и пишет что надо включить java-script хотя он и так включен…
[Ответить на комментарий]
Я так и не понял что именно она делает. Печалька.
[Ответить на комментарий]
hello this is a spam to test your invisible captcha.
[Ответить на комментарий]
Здравствуйте Андрей. Вы, конечно здорово придумали на счет распазнования captcha, но что делать мне, если я инвалид по зрению и не пользуюсь мышкой, а пользуюсь как раз клавишей enter.
Подскажите, как быть?
[Ответить на комментарий]
@Алексей, я не совсем понял суть вопроса, но попробую ответить. При нажатии на кнопку Enter плагин работает так же хорошо, как и при клике мышкой. То есть, вместо того, чтобы кликнуть мышью по кнопке “Отправить”, можно установить фокус на этой кнопке и нажать Enter. Написав комментарий из браузера вы автоматически проходите антиспам-проверку.
Я ответил на ваш вопрос?
[Ответить на комментарий]