返回404代码进行未经授权的尝试

我有一个pipe理员目录在我的networking服务器(http://test.com/admin),我不希望未经授权的人访问此/pipe理员/目录,而不是我想返回404错误代码的所有未经授权的访问。

我的问题是,有什么办法可以返回404错误代码的所有访问尝试,除了几个特定的​​IP地址?

我的networking服务器是Linux上的Apache(plesk)。

那么closures:

<Location /admin> Order deny,allow Allow from 10.0.0.1 Allow from 192.168.1.1 Deny from all </Location> 

虽然这实际上做的是返回一个403禁止的,而不是404的未find,这是,你知道,是正确的。

如果你把这个放在admin目录的.htaccess中,你不需要Location容器。 该示例是为服务器或虚拟主机configuration文件编写的。

另请参阅mod_access文档。

对于它的价值,随着时间的推移,我越来越多地把网站pipe理员放在一个完全独立的虚拟主机上。

你可以使用mod_rewrite来做到这一点。

 RewriteEngine on RewriteCond %{REMOTE_ADDR} !=10.0.0.1 [OR] RewriteCond %{REMOTE_ADDR} !=10.0.0.1 RewriteRule ^admin($|/) - [L,R=404] 

请注意, R=404标志至less需要Apache 2.1.1。

请检查configuration指南中的“允许来自”属性

litespeed之下, mod_rewrite的下面的小变化对我有效:

 RewriteEngine on RewriteCond %{REMOTE_ADDR} !^1.2.3.4 [OR] RewriteCond %{REMOTE_ADDR} !^1.2.3.4 RewriteRule (.*) - [R=404,L]