Najskuteczniejsze wykrywanie kodu PHP antyspamowego dla WordPress
Blog wordpress może otrzymywać ponad 100 komentarzy spamowych (produkowanych przez roboty spamujące) dziennie, co jest denerwujące.
wordpress-spam
Generalnie mogą one zostać przechwycone przez wtyczki, takie jak Akismet, jednak dane te są nadal przechowywane w bazie danych, zanim zostaną ręcznie usunięte lub po upływie daty ważności.
LEONA zapewnia sprytne rozwiązanie zapobiegające przedostawaniu się tych spamowych komentarzy nawet do bazy danych. Polega na umieszczeniu w formularzu ukrytego pola i ustawieniu wartości, gdy użytkownik naciśnie klawisz (onkeyup). Więc jeśli wartości nie pasują, myślimy, że nie jest to składane przez człowieka.
wordpress zapewnia filtr preprocess_comment, dzięki czemu możesz sprawdzić komentarze i wyjść ze strony wcześniej za pomocą wp_die().
WP Official API mówi (https://codex.wordpress.org/Plugin_API/Filter_Reference/preprocess_comment ), $commentdata zawiera następujące informacje:
'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)
Następnie możemy użyć tej wtyczki, aby umożliwić pingback/trackback (co moim zdaniem jest przydatne) i skutecznie pozbyć się komentarzy spamowych.
Jeśli przetestujemy funkcję/filtr, wpisując celowo dziwne identyfikatory, otrzymamy następujące informacje (a komentarz nie zostanie wpisany w obszar oczekiwania).
Uwaga: Umieść powyższy kod na końcu szablonu functions.php (lub motywu potomnego).
WordPress-wykrywanie spamu
Działa jak magia!