Как защититься от спама через формы обратной связи
10.03.2020
Если у вас есть сайт с формами обратной связи, бланком заказа или любой другой формой для отправки сообщения администрации сайта, то весьма вероятно, что за последние месяцы вы через них получали спам.
Небольшой анализ показал, что за последнее время для рассылки используются всего несколько IP адресов:
- 5.188.84.95
- 31.31.114.29
- 46.188.98.10
- 91.79.21.69
- 91.79.61.82
- 176.119.109.24
- 77.34.85.152
- 188.115.181.72
- 176.119.95.109
В качестве User Agent в половине случаев используется браузер Opera двух летней давности, либо такие же старые Chrome.
Те компьютеры, которые в момент проверки были онлайн, работают на стареньких серверах Windows Server 2008 R2 — 2012 (имена машин WIN-D8C0OCSOG0N и WIN-6K94AJGVOE0) с большим количеством открытых портов. Либо это взломанные машины, либо ПО для рассылки спама распространяется в предустановленном виде на Windows Server.
Кроме кардинальных вариантов противодействия спаму через формы обратной связи, таких как включение капчи, есть смысл начать с блокировки по IP адресам.
Блокировка по IP от спама в формах обратной связи
Блокировка IP спамер через формы обратной связи в файле .htaccess.
Для Apache 2.4 добавьте следующие строки:
<RequireAll> Require all granted Require not ip 46.188.98.10 31.31.114.29 176.119.109.24 91.79.61.82 91.79.21.69 5.188.84.95 77.34.85.152 188.115.181.72 176.119.95.109 </RequireAll>
Для Apache 2.2 добавьте такую строку:
Deny from 46.188.98.10 31.31.114.29 176.119.109.24 91.79.61.82 91.79.21.69 5.188.84.95 77.34.85.152 188.115.181.72 176.119.95.109
Блокировка по User Agent от спама в формах обратной связи
Дополнительно можно заблокировать по User Agent (для любой версии сервера):
RewriteCond %{HTTP_USER_AGENT} Chrome/68 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/67 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/66 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/65 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/58 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/49 [NC] RewriteRule ^.* - [F]
Этими строками заблокированы старые версии браузеров (двух летние), учитывая, что сейчас веб браузеры обновляются автоматически, такие версии могут быть только у ботов и ПО для рассылки спама — не нужно переживать, что вы заблокируете обычных пользователей.
И тем не менее если вы опасаетесь заблокировать обычных пользователей, то можно настроить блокировку доступа старым браузерам только к форме обратной связи, для этого используйте %{REQUEST_URI}, после которой укажите путь до папки/файла формы обратной связи. В следующем примере это /blank/, а символ каретки (^) означает начало строки, то есть я блокирую доступ старым браузерам к странице site.ru/blank/:
RewriteCond %{HTTP_USER_AGENT} Chrome/68 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/67 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/66 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/65 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/58 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/49 [NC] RewriteCond %{REQUEST_URI} ^/blank/ RewriteRule ^.* - [F]
Если у вас для адреса страницы используется строка запроса (это то, что в URI идёт после вопросительного знака), то используйте %{QUERY_STRING}. В следующем примере я блокирую доступ старым веб браузерам к странице site.ru/index.php?page=blank:
RewriteCond %{HTTP_USER_AGENT} Chrome/68 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/67 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/66 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/65 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/58 [NC,OR] RewriteCond %{HTTP_USER_AGENT} Chrome/49 [NC] RewriteCond %{QUERY_STRING} page=blank RewriteRule ^.* - [F]
Заключение
Внимание, эта страница будет обновляться по мере добавления новых IP и Пользовательских Агентов. Поэтому если ваша проблема со спамом через формы обратной связи не решилась до конца, либо после перерыва вновь стали поступать спам сообщения, то возвращайтесь на эту страницу за новыми фильтрами.
Билеты на автобусы, паромы и поезда, в том числе стыковочные маршруты:
Авиабилеты на международные и местные направления по минимальным ценам:
Отели:
Связанные статьи:
- Как в mod_rewrite блокировать по Referer, User Agent, URL, строке запроса, IP и в их комбинациях (73.9%)
- Как бороться с ботами на сайте (73.9%)
- Истории двух троллей (когда неудачно попытался троллить) (65.7%)
- Как исключить из индексации страницы с определёнными параметрами в URL и другие техники контроля индексации сайта поисковыми системами (64.4%)
- Как поисковым системам запретить индексирование только главной страницы сайта (64.4%)
- Купил домен w-e-b.site. Как дёшево получить красивый домен (RANDOM - 50%)
Добавлен новый IP (77.34.85.152) и новый User Agent (Chrome/68).
Добавлен новый IP (188.115.181.72) и новый User Agent (Chrome/65).
Добавлен новый IP 176.119.95.109.