.htaccess:如何通过IP限制对单个文件的访问?

时间:2010-08-30 21:53:53

标签: apache .htaccess

我看了一遍,但一直看到有关目录级IP限制的相同信息,通常看起来像这样:

Order Deny,Allow
Deny from all
Allow from 123.123.123.123

是否可以将相同类型的访问限制绑定到页面/文档?

4 个答案:

答案 0 :(得分:34)

这将允许来自IP 127.0.0.1 的某人以有效用户身份登录。把它粘在你的配置或.htaccess文件中。

    <Files learn.php>
        Satisfy any
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1

        AuthType Basic
        AuthName "private"
        AuthUserFile /var/www/phpexperts.pro/.htpasswd
        AuthGroupFile /dev/null
        Require valid-user
    </Files>

独自IP:

    <Files learn.php>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Files>

这绝对可以回答你的问题。

答案 1 :(得分:9)

我认为该指令必须是:

Order deny,allow

以获得上述答案(至少对于IP Alone解决方案而言)。

答案 2 :(得分:2)

基于Mod-rewrite的解决方案:

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^Y\.O\.U\.R\.IP$
RewriteRule ^file\.php$ - [F,L]

如果客户端ip与RewriteCond模式中的ip地址不匹配,上面的rewriteRule将拒绝对 file.php 的所有请求

答案 3 :(得分:0)

有关Apache 2.4示例的最新信息:

<Files file.html>
    Require ip 123.123.123.123
</Files>

以下是有关其他选项和示例的更深入的文档:https://httpd.apache.org/docs/2.4/howto/access.html<Files>指令的文档:https://httpd.apache.org/docs/2.4/mod/core.html#files

  

请注意,<Files>可以嵌套在<Directory>节中,以限制它们应用于文件系统的一部分。