Я заблокировал большинство ботов, которые отправка POST-запросы на мой сайт с использованием .htaccess.
Каждый раз, когда один из этих ботов пытается получить доступ к моему сайту, он получает сообщение об ошибке 403 запрещено.
У меня вопрос: почему моя пропускная способность все еще увеличивается, если я заблокировал их в моем файле .htaccess?
Мне всегда казалось, что пропускная способность веб-хостинга измеряется объемом данных, которые отправляет мой сервер, а не объемом, который он получает.
Есть ли способ настроить мой файл .htaccess, чтобы просто игнорировать этих ботов и не отправлять обратно код состояния?
Между прочим, я использую общий сервер с «неограниченной» пропускной способностью, но количество пропускной способности, которую эти боты тратят впустую, просто смешно.
Спасибо!
Файлы .htaccess сообщают вашему серверу, какой конкретный ответ должен быть отправлен этим ботам. Таким образом, запрос все еще выполняется, и вы все еще отправляете данные (сообщение 403).
У вас нет возможности предотвратить попадание запроса ботнета к вам, только ваш провайдер может заблокировать его до того, как он достигнет вашего сервера. Однако вы ничего не можете отправить обратно, просто закрыв соединение для этого IP. Я не уверен, есть ли у Apache модуль для этого, иначе для этого можно использовать программный брандмауэр, например iptables.
К тому времени, когда твой .htaccess
вступает в силу, полезная нагрузка клиента уже прошла через сетевой интерфейс вашего сервера. С точки зрения вашего интернет-провайдера нет принципиальной разницы во входящем или исходящем трафике с вашего сервера. Вам или вашему провайдеру все равно придется его заплатить.
Если вы не хотите, чтобы передача данных происходила, вам необходимо заблокировать клиентов в пограничном маршрутизаторе вашего интернет-провайдера (или, по крайней мере, в фильтре пакетов, который не работает на самом сервере).
Согласно другим ответам, как только бот переходит на этап получения ответа 403, вы как отправили, так и получили данные.
Возможно, лучше вообще не отвечать, если вы найдете модуль apache, который просто разорвет соединение.
Если у вас есть контроль над хостом и вы используете файлы cookie SYN, возможно, стоит также маршрутизировать все IP-адреса, которые вы блокируете, на 127.0.0.1 (или, что еще лучше, добавить их в правило DROP в цепочке iptables).
Есть несколько подходов. Один из них - настройка правил брандмауэра через iptables. Во-вторых, запретить использование этих ботов на robot.txt.