.htaccess 阻止除我的 ip 之外的所有内容

Posted

技术标签:

【中文标题】.htaccess 阻止除我的 ip 之外的所有内容【英文标题】:.htaccess block all but my ip 【发布时间】:2012-12-05 18:22:05 【问题描述】:

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

我有这个

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

“我的IP”是我的IP

我看不到我的 ip - 这是正确的方法吗?

【问题讨论】:

order deny, allow 语法无效,不允许使用空格。 Apache 会产生错误。它应该是order deny,allow,但我无法修复它,因为不允许使用 Deny all, allow only one IP through htaccess的可能重复 【参考方案1】:

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

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”将是多余的。所以如果是这种情况,你可以在这里丢弃它。

【讨论】:

【参考方案2】:

你的语法正确:

order deny,allow
deny from all
allow from 127.0.0.1

(注意:IP 地址不加引号)

如果在您认为应该有权访问时被拒绝,您可能需要仔细检查您使用的 IP 地址是否正确。

例如,检查http://www.whatsmyip.org/ - 可能您和服务器之间存在某些东西,例如正在获取的代理,而不是您自己的 IP 地址。

【讨论】:

order deny, allow 语法无效,不允许使用空格。 Apache 会产生错误。它应该是order deny,allow,但我无法修复它,因为不允许使用

以上是关于.htaccess 阻止除我的 ip 之外的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止对根文件夹中除 index.php 之外的所有 .php 的访问(通过 .htaccess)?

JQuery 隐藏除我搜索的 div 之外的所有 div [关闭]

如何重写历史记录,以便除我已经移动的文件之外的所有文件都在子目录中?

如何重写历史记录,以便除我已经移动的文件之外的所有文件都在子目录中?

无法在除我之外的其他浏览器/机器上运行我的 chrome 扩展:未打包的发行版中有些不匹配?

.htaccess脚本阻止远程访问并允许本地ip