Автор: Gluek — Категории: webdev, blogs, programming, faq, linux — 2:07
Поизучал сегодня логи сервера и заметил, что 99% спама идет из пары десятков подсетей (позор вам, китайские открытые прокси!). Спам фильтры для Wordpress - это вещь хорошая, но проверка каждого комментария довольно сильно нагружает сервер (каждый комментарий - это лишний httpd процесс + обращение к mysql базе).
Так что самым правильным решением я выбрал блокировку эти подсетей на уровне ядра. Для этого в Linux есть замечательная штука - iptables (английская справка - man iptables , русская - здесь). Итак, что у нас получилось:
- Отслеживаем отправку комментариев:
tail -f accesslog | grep 'post.php' - Спамеров - блокируем:
/sbin/iptables -A INPUT -s 66.199.252.0/255.255.255.0 -p tcp -m multiport --dports 80 -j DROP - Контролируем результат:
/sbin/iptables -L -v -n --line-numbers
В итоге - нагрузка сервера упала на порядок. Эффект достигнут!