Effacer automatiquement le SPAM dans WordPress
Depuis quelques temps, je suis assailli de spams au niveau des sites WordPress que j’administre et qui sont ouverts aux commentaires, sans que j’en comprenne la raison. Afin d’effacer automatiquement ces messages indésirables qui vantent les mérites de substances médicamenteuses diverses et avariées, je viens de recourir à un script PHP que je planifie à l’aide de Cron dans lequel j’exécute un ordre SQL.
Utilisation des expressions régulières dans MySQL
MySQL dispose de la possibilité d’utiliser les expressions régulières au niveau de la clause WHERE avec l’opérateur REGEXP. Dans l’exemple ci-dessous, l’effacement des commentaires se fait à partir des mots comme buy, cheap, order, viagra, etc.
DELETE FROM wp_comments WHERE ( comment_content REGEXP '([[:space:]]|>)(buy|cheap|cheapest|ciprofloxacin|estore|kamagra|louis vuitton|order|viagra)([[:space:]]|<)' OR comment_author_url REGEXP '(ciprofloxacin|kamagra|viagra)' ) AND comment_approved<>'1' ;