Как не дать спамить?
Добрый день! Проблема такая использую плагин для вордпресс DW Question Answer(не про версия), но какой-то нехороший человек-скрипт спамит в него всякую дрянь каждые 15 секунд, уже наспамил несколько тысяч сообщений. Как - то можно капчу добавить или что-то настроить чтобы такого не было?
Дополнительно:
Ответы:
Если вы про этот плагин. https://ru.wordpress.org/plugins/question-answer/. Только что поставил его. В разделе настройки есть возможность Google рекапча. Используйте. Можете еще Акисмет поставить.
- у меня нет настроек
- Евгений Петряев, Ссылку можете дать на страницу плагина в официальном каталоге?
- Дмитрий, нашел настройки, получил апи ключ акисмет, сохранил. но спамер спамит до сих пор
- Евгений Петряев, Акисмет не имеет прямого отношения к вашему плагину. Вам необходим плагин, который поддерживает рекапчу гугл. Или обратитесь к разработчику плагина. Как вариант, поменяйте на этот https://ru.wordpress.org/plugins/question-answer/. Я так и не понял, ваш плагин присутствует в оф каталоге? Что-то я его не нашел по запросу DW Question Answer. Вполне возможно, что он оттуда вылетел по причине спама.
- Евгений Петряев, Нашел. Теперь все понятно: https://wordpress.org/plugins/dw-question-answer/
Этот плагин был закрыт 15 июля 2022 г. и недоступен для загрузки. Причина: проблема безопасности.
Настоятельно рекомендую избавиться от этого плагина.
- Дмитрий, спасибо за подсказ, три с лишним часа чистил тысячи вопросов - времени ответить не было
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Если спам летит в DW Question Answer каждые 15 секунд, нужно одновременно закрыть форму от ботов и почистить уже созданный мусор. Одна капча поможет, но лучше добавить несколько слоёв защиты.
Что сделать в первую очередь:
Если хотите быстро закрыть форму для неавторизованных пользователей кодом, можно сделать редирект или блокировку на странице добавления вопроса. Конкретный slug зависит от настроек плагина:
add_action('template_redirect', function () { if (is_user_logged_in()) { return; } if (is_page('ask-question')) { wp_safe_redirect(wp_login_url(get_permalink())); exit; } });
Для защиты от слишком частых отправок можно добавить простую проверку по IP на уровне WordPress, но лучше делать это на сервере или через WAF. Пример идеи:
function site_rate_limit_key() { return 'qa_limit_' . md5($_SERVER['REMOTE_ADDR'] ?? 'unknown'); }
После остановки спама проверьте, не появились ли новые пользователи-администраторы, подозрительные плагины и PHP-файлы в
uploads. Массовый спам иногда идёт не только через открытую форму, но и через уже найденную уязвимость.Удалять тысячи сообщений лучше не вручную из админки, а через выборку по post type/status/date или WP-CLI, предварительно сделав бэкап базы. Иначе можно случайно удалить нормальные вопросы пользователей.