获取.htaccess以允许访问指定的IP,但是如果来自任何其他IP则请求.htpasswd用户+密码

时间:2016-07-26 12:53:37

标签: apache .htaccess authentication .htpasswd

我有一个网站,我试图设置.htaccess / .htpasswd密码限制,但同时允许任何具有特定IP地址的用户访问。

到目前为止,我已经在我的.htaccess文件中实现了这个,但由于某些原因,这个dosnt工作,如果我访问该网站,无论它允许访问哪个IP地址,如果我注释掉行{{1}在order deny,allow行之上,密码保护有效,但是会向所有人请求IP,即使是从Allow from 192.87.22.18 IP访问(注意 - 不是我的真实IP)

(由于显而易见的原因,我还没有发布我的.htpasswd文件,但它是包含1个哈希密码的1行)

有什么想法吗?

192.87.22.18

2 个答案:

答案 0 :(得分:5)

通过反复试验我最终使用了下面的apache 2.0,取自这里:https://perishablepress.com/htaccess-password-protection-tricks/

在上面的文章中,他们将代码块包装在<IfModule mod_auth.c> 中导致代码无法运行(因为我猜这个服务器上的if块等于false)所以我删除了它们。

    # password protect excluding specific ip
 AuthName "Username and password required"
 AuthUserFile /home/path/.htpasswd
 AuthType Basic
 Require valid-user
 Order Deny,Allow
 Deny from all
 Allow from 111.222.333.444
 Satisfy Any

答案 1 :(得分:1)

4你应该使用:

AuthType Basic
AuthUserFile c:/wamp/www/_test/www/.htpasswd
AuthName "Protected Area"

<RequireAny>
    Require ip 127.0.0.1
    Require valid-user
</RequireAny>

orderdenyallow现已弃用。