Фильтрация спама в WordPress
Совсем позабыл изредка проверять очередь комментов и за две недели бездействия очередь доросла до 3521 постов. Ох уж этот спам.. Вручную модерировать не представлялось возможным, Apache/Wordpress непристойно ругались при открытии странцы, что-то вроде “Zero page length”, точно не помню. Так как большинство спама было на буржуйском языке, то я взялся за написние SQL функции проверки наличия русских букв, но эта затея мне показалась черезчур ”тайм консюминг” и инвестиция времени не оправдалывала результат, ROI явно меньше нуля. После недолгих раздумий решил фильтровать посты по самым распространённым гласным в русском языке - а, и, е.
UPDATE wp_comments SET comment_approved = ‘1′ WHERE comment_content LIKE “%а%” OR comment_content LIKE “%и%” or comment_content LIKE “%е%”;
помечаем остальные комменты как спам:
UPDATE wp_comments SET comment_approved = ’spam’ WHERE comment_approved = ‘0′;
Вуа-ля. Awaiting Moderation (0). Конечно, такую проверку лучше реализовать при сабмите формы, средствами PHP, но в данной ситуации это было самое оптимальное решение во всех отношениях.
Извитяюсь, если оставил когда-то ваши комментарии без ответа, сегодня отвечу на все после прогулки(весна пришла, весна пришла!!!).


