1
是否有.htaccess命令拒绝访问特定文件中的每个IP? 假设我有一个名为bans.txt(坐在我的.htaccess文件旁边)的文件,它包含一个简单的ips列表,一个在另一个下面。我想拒绝访问该文件中的每个IP。有没有一个简单的.htaccess命令可以做到这一点?就像:拒绝从文件中的ips访问
Deny from bans.txt
我一直在寻找,我不认为有,但只是检查,谢谢。
是否有.htaccess命令拒绝访问特定文件中的每个IP? 假设我有一个名为bans.txt(坐在我的.htaccess文件旁边)的文件,它包含一个简单的ips列表,一个在另一个下面。我想拒绝访问该文件中的每个IP。有没有一个简单的.htaccess命令可以做到这一点?就像:拒绝从文件中的ips访问
Deny from bans.txt
我一直在寻找,我不认为有,但只是检查,谢谢。
实际上,纯粹从Apache实现这个任务是一个很好的方法。你需要使用一个称为RewriteMap
1 - 首先启用了mod_rewrite并通过httpd.conf
的.htaccess,然后把这个代码在你httpd.conf
,使一个RewriteMap
称为ipmap
:
RewriteMap ipmap txt:/some/path/to/ipmap.txt
2 - 然后创建您的文本文件/some/path/to/ipmap.txt
带有这样的条目列出您要禁止的所有IP:
192.168.0.1 1
192.168.0.4 1
10.119.35.8 1
...
...
3 - 反弹的Apache进程(因为你已经改变了httpd.conf
)
4 - 最后把这个代码在你.htaccess
你$DOCUMENT_ROOT
目录下:
RewriteEngine On
RewriteBase/
# if IP is found in ipmap then return Forbidden error
RewriteCond ${ipmap:%{REMOTE_ADDR}} ^1$
RewriteRule^- [F,L]
整洁的确,谢谢! – Sophivorus 2013-03-28 15:56:02
不客气,很高兴它解决了。 RewriteMap也有更好的功能,例如让您直接从.htaccess运行SQL或脚本。 – anubhava 2013-03-28 15:58:29