Лучшее эффективное средство обнаружения PHP-кода для защиты от спама для WordPress
Блог WordPress может получать более 100 спам-комментариев (созданных спам-роботами) в день, что раздражает.
wordpress-спам
Как правило, они могут быть захвачены плагинами, такими как Akismet, однако эти данные по-прежнему сохраняются в базе данных до того, как они будут удалены вручную или после истечения срока действия.
LEONA предлагает умное решение для предотвращения попадания этих спам-комментариев в базу данных. Он основан на размещении скрытого поля в форме и установке значения, когда пользователь нажимает клавишу (onkeyup). Поэтому, если значения не совпадают, мы думаем, что это не человек.
wordpress предоставляет фильтр preprocess_comment, так что вы можете проверить комментарии и закрыть страницу, используя wp_die() ранее.
Официальный API WP говорит (https://codex.wordpress.org/Plugin_API/Filter_Reference/preprocess_comment ), что $commentdata содержит следующую информацию:
'comment_post_ID' - The post to which the comment will apply
'comment_author' - (may be empty)
'comment_author_email' - (may be empty)
'comment_author_url' - (may be empty)
'comment_content' - The text of the proposed comment
'comment_type' - 'pingback', 'trackback', or empty for regular comments
'user_ID' - (empty if not logged in)
Затем мы можем использовать этот плагин, чтобы разрешить pingback/trackback (что, на мой взгляд, полезно) и эффективно избавиться от спам-комментариев.
Если мы протестируем функцию/фильтр, намеренно введя странные идентификаторы, мы получим следующее (и комментарий не вводится в область ожидания).
Примечание. Поместите приведенный выше код в конец шаблона functions.php (или дочерней темы).
wordpress-спам-обнаружение
Это работает как волшебство!