我在centos6下使用apache 2.2,而且我最近有一些不需要的访问,我想禁止。
例如,我在我的error_log中有这个:
[Sun Apr 14 01:06:29 2013] [error] [client 96.254.171.2] File does not exist:/ var / www / html / var,referer:http:** server5.cyberpods.net/azenv.php
(我用http://replacehttp://,以防止人们点击链接,我不确定它是否安全)
我想我可以禁止任何以azenv.php结尾的东西。 应该是什么方法?
有很多方法来阻止引荐url和/或ips,所以我会给你几个简单的方法:
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访问,你可以阻止在你的iptables中的IP如下所示:
# iptables -A INPUT -s 96.254.171.2 -j DROP # service iptables save
从iptables中解除(并删除)ip:
# iptables -D INPUT -s xx.xxx.xx.xx -j DROP # iptables -D INPUT -s 96.254.171.2 -j DROP # service iptables save