Назад | Перейти на главную страницу

запретить все запросы * azenv.php к моему серверу

Я использую apache 2.2 под centos6, и недавно у меня были какие-то нежелательные обращения, которые я хочу заблокировать.

Например, у меня в error_log есть это:

[Вс, 14 апреля, 01:06:29 2013] [ошибка] [клиент 96.254.171.2] Файл не существует: / var / www / html / var, ссылка: http: ** server5.cyberpods.net/azenv.php

(я заменил http: // на http: **, чтобы люди не нажимали на ссылку, что я не уверен, безопасно ли это)

Думаю, я мог бы просто забанить все, что заканчивается на azenv.php. Какой должен быть подход?

Существует множество способов заблокировать ссылающиеся URL-адреса и / или IP-адреса, поэтому я дам вам несколько простых способов:

1) Вы можете сохранить файл .htaccess в верхнем каталоге вашего веб-сайта, переписав его, например:

## specific referring url blocking
RewriteEngine on
# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} .*/azenv\.php [NC,OR]
RewriteRule .* - [F]

или аналогично iptables:

## user ip blocking
<Limit GET POST>
 order allow,deny
 deny from 96.254.171.2
 allow from all
</Limit>

другой пример:

## banning referring urls with specific words, etc.
# set the skridz_ref variable
SetEnvIfNoCase Referer "^azenv.php" skridz_ref=1

# block all referrals that have skridz_ref set
<FilesMatch "(.*)">
Order Allow,Deny
Allow from all
Deny from env=skridz_ref
</FilesMatch>

2) Если у вас есть доступ по ssh на вашем сервере, вы можете заблокировать ip в своих iptables следующим образом:

# iptables -A INPUT -s 96.254.171.2 -j DROP
# service iptables save

чтобы разблокировать (и удалить) ip из iptables:

# iptables -D INPUT -s xx.xxx.xx.xx -j DROP
# iptables -D INPUT -s 96.254.171.2 -j DROP
# service iptables save