apache+php+mysql网站能实现通过来路ip访问404的次数,直接在访问层禁止来路ip访问吗?
apache网站能实现通过来路ip访问404的次数,直接在访问层禁止来路ip访问吗?
问题解释:同一ip,大量扫描网站不存在的文件,出现404报错。
所以产生上边的想法,想直接通过apache服务层或者php的服务层就锁定同ip出现404报错的人,直接禁止访问。或一段时间内禁止访问。
请教,如果操作?
[解决办法]
在 .htaccess 文件里加入
ErrorDocument 404 /404.php
order deny,allow
deny from ip列表(用空格分开)
由于修改 .htaccess 文件后无需重启 apache
可以在 404.php 中记录 $_SERVER['REMOTE_ADDR'] 和 将 $_SERVER['REMOTE_ADDR'] 加入 ip列表