Защита от спама в WordPress без плагинов
Почти 3 года назад я опубликовал статью о "защите от спама" путем подмены полей. Этот метод и сейчас работает идеально, Akismet вылавливает лишь штук 5 ручных спамных комментариев в месяц...
Понравился пост? Подпишись на обновления по RSS или Twitter !
#121,
дайте ссылку на вашу тему, я посмотрю. просто сейчас темы такие пошли, что нужные функции могут быть запрятаны в самых дебрях кода, надо лично смотреть. ну или вы можете поиском по файлам темы искать эти функции (в notepad++ есть такая опция = поиск по файлам).
#122,
поиском искал вроде. сайт вот - credit-ws.ru
#123,
ну у вас же там своя собственная тема - а мне нужно ее скачать, чтобы я мог посмотреть ее код. так по внешнему виду ничего сказать невозможно.
#124,
Попробовал у себя, спасибо, работает
#125,
У себя использую динамическую подмену.
Чтобы html код страницы без выполнения js выглядел обычным
#126,
тоже вариант.
правда, если в теме подгружается jquery.
#127,
Я обновился до wp 4.2.1. и отправка комментариев через созданное поле перестала работать.
Если убрать доп.поле и отправлять через обычный textarea - то всё ок.
Нужно как-то изменить код?
#128,
да вообще-то нет. у меня вот, например, версия 4.2.1 - и все работает. я так выборочно проверил еще несколько тем - тоже все работает.
у вас случайно тема не обновилась заодно с движком? а то может изменения затерлись нужные.
#129,
Тема не обновлялась.
Моя проблема связана с валидацией формы комментирования. Когда валидация появилась?)) как раз в 4.2.1? вообще размер исходного файла /wp-includes/comment-template.php подрос с последним обновлением. Я так и не понял.
Консоль отдаёт ошибку "An invalid form control with name='comment' is not focusable." Естественно форма с name='comment' спрятана за display:none; а отправлять я пытаюсь свою name='llgr-comment'.
Если в лоб к
добавить novalidate, тогда всё отлично отправляется. Как через functions.php добавить это novalidate я не придумал. Да и правильно ли так делать?
#130,
никогда. насколько я понимаю - это не движок проверяет форму, а браузер. точнее только Chrome.
повторить проблему у себя мне не удалось. но гугл говорит, что novalidate для form это вполне нормальное решение.
#131,
Я остановился на таком решении: проверку на спам оставил в functions.php, а вывод доп.поля перенес в comments.php темы:
То есть 2 поля подряд, первое дефолтное закрыто display:none; а во второе перенес атрибуты aria-required="true" required="required" в новое поле.
Вроде профит.
#132,
ну и правильно.
вообще, если comment_form вызывается с параметрами, то автоматическое добавление нового поля через код в functions.php может не работать или работать криво. поэтому вы сделали все абсолютно правильно.
#133,
Здравствуйте, Flector! Писал вам на почту по поводу, но, увы, нет ответа, может, в спам попало...
К сожалению, инструкции вашей статьи не смог применить к теме Rubine Lite - https://ru.wordpress.org/themes/rubine-lite/ Там как-то все запущено и моих (минимальных) знаний не хватает для реализации подмены полей. Плагины типа Antispam Bee не хотелось бы ставить, и так уже много всяких... Переход на новую тему затягивается, посодействуйте, пожалуйста, в решении проблемы, если это возможно.
Спасибо!
#134,
в comments.php замените код:
на
а сам код чуть-чуть измените на такой:
#135,
Flector, благодарю за ответ. В comments.php код заменил, в functions.php вставил "добавление своего поля" и "проверка на спам". В css добавления внес. Странное дело - на Денвере все как по маслу работает, а на рабочем сайте выскакивает окно "Пожалуйста, заполните это поле". (Firefox). И все, дальше ничего... В Chrome вообще ничего не происходит, даже этого окна нет... Плагины стоят одни и те же. Вот, репу чешу, не пойму...
#136,
кэш обновили?
#137,
Да, кэш обновлял неоднократно, и под админом пробовал откомментить, и как гость... безрезультатно.
#138,
я вчера смотрел ваш сайт, вроде нормально было. правда, я не пробовал комментировать. но вообще, код предельно прост, не понимаю, что у вас там может не так работать.
#139,
Flector, спасибо за содействие. Поставил сегодня Antispam Bee, поглядим, что дальше будет. Я особо-то не заморачиваюсь в таких случаях, тем более при наличии альтернативы.
Видел у вас статью о плагине Invisible Captcha. Вопрос вдогонку и немного не в тему: в паре с вышеупомянутым плагин Invisible Captcha - это взаимодополняющие, или наоборот, инструменты? Лишней не будет "невидимая каптча"? )
#140,
будет.
подобные плагины друг с другом не дружат.
если устанавливаете защиту, то только одну.