Мой сервер добирается, сильно ударяет ботами, и т.д., ища различные файлы в /cgi-bin/
, как search.cgi, YaBB.pl, gitweb.perl, perl, gitweb.pl, htsearch,
и вперед и вперед.
Я хочу запретить всего доступа (отправьте 403 Запрещенных заголовка) для всех возможных имен файлов и расширений в /cgi-bin
/. (Это - общий сервер, таким образом, у меня только есть доступ к .htaccess, нет vhosts
или httpd
).
В .htaccess в cgi-bin
Я попробовал
deny from all
а также
<FilesMatch "\.cgi?$">
Order Allow,Deny
Allow from All
</FilesMatch>
для просто .cgi
расширения, без удачи для также.
Как я могу запретить доступа для всего в /cgi-bin/
?
Сделайте я должен перечислить все имена файлов и расширения в a <FilesMatch
директива?
Þekkirðu ip eða notandaumboð sem veldur mikilli umferð?
<Directory /cgi-bin>
order deny,allow
deny from all
</Directory>
Alt,
RewriteRule "cgi(.*)" "go_away"
Для этого есть много способов :
Использование каталога (версия Apache 2.2):
<Каталог /var/www/cgi-bin/>.
отказ в заказе, разрешить
отказывать всем
<Директорий>
Используя условие перезаписи:
RewriteCond %{REQUEST_URI} ^/cgi-bin
RewriteRule .* - [END,R=406]
вы можете изменить 406 на любой код, который вы хотите как 403 для запрета, вы можете найти здесь список кода статуса : https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
И вы даже можете расширить условие перезаписи, чтобы охватить большее количество ботов:
RewriteCond %{HTTP_USER_AGENT} ^-? [OR]
RewriteCond %{REQUEST_URI} ^/cgi [OR,NC]
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST)$ [OR]
RewriteCond %{REQUEST_URI} !^/
RewriteRule .* - [END,R=406]
правила запрещают пустой пользовательский агент, запрос, начинающийся с /cgi, метод ограничения до GET/HEAD/POST, запрос, не начинающийся с /
Просто переместите или удалите cgi-bin из вашей веб-папки, если вы их не используете.