.htaccess阻止我的所有IP

时间:2012-12-18 14:10:09

标签: html apache .htaccess

我正在尝试快速htaccess阻止除了我的ip之外的所有内容。

我有这个

    order deny, allow
    deny from all
    allow from "MY IP"

“我的IP”是我的IP

我无法看到来自我的ip - 这是正确的方法吗?

2 个答案:

答案 0 :(得分:20)

最有效的方法是使用为该任务设计的指令白名单。

Order Allow,Deny
Allow from 123.456.789.123

123.456.789.123是您的静态IP地址。

当使用“Order Allow,Deny”指令时,请求必须与Allow或Deny匹配,如果两者都不满足,则请求被拒绝。

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order

或者你可以像这样使用mod_rewrite。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.123$
RewriteRule .* - [F]

请注意,如果您已将规则置于此规则之上,则“RewriteEngine On”将是多余的。所以,如果是这种情况,你可以在这里丢弃它。

答案 1 :(得分:7)

您的语法正确:

order deny,allow
deny from all
allow from 127.0.0.1

(注意:IP地址周围没有引号)

如果您认为自己有权访问,则可能需要仔细检查是否使用了正确的IP地址。

例如,检查http://www.whatsmyip.org/ - 也许您和服务器之间有某些东西,比如正在接收的代理,而不是您自己的IP地址。