Блог 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-спам-виявлення
Це працює як магія!