.htaccess htaccess-使用密码或ip白名单

.htaccess htaccess-使用密码或ip白名单,.htaccess,.htaccess,所以我想限制对url的访问。现在,如果它们来自给定的IP地址,则不应提示它们输入密码。如果他们不是来自givin IP地址,则应提示他们输入密码 因此,一个或多个: AuthUserFile /some/path/.htpasswd AuthName "Please Log In" AuthType Basic require valid-user 以及: 您可以使用Apache指令 下面是一个使用它的示例: AuthType Basic AuthName "Please Log In" Au

所以我想限制对url的访问。现在,如果它们来自给定的IP地址,则不应提示它们输入密码。如果他们不是来自givin IP地址,则应提示他们输入密码

因此,一个或多个:

AuthUserFile /some/path/.htpasswd
AuthName "Please Log In"
AuthType Basic
require valid-user
以及:

您可以使用Apache指令

下面是一个使用它的示例:

AuthType Basic
AuthName "Please Log In"
AuthUserFile /some/path/.htpasswd
Require valid-user
Order deny,allow
Deny from all
Allow from 127.0.0.1
Satisfy any
仅允许从127.0.0.1进行无密码访问

希望这有帮助。

Apache 2.4仍然可用,但是

注意

mod_access_compat提供的指令已被mod_authz_主机弃用。从技术上讲,将旧指令(如Order、Allow或Deny)与新指令(如Require)混合使用是可能的,但不鼓励这样做。创建此模块是为了支持仅包含旧指令的配置,以方便2.4升级。请查看升级指南以了解更多信息


在您的情况下,1.2.3.4中的
允许被替换为

组合多个
Require
s(如
Require-valid user
Require-ip
)可以通过以下方式完成。所以说客户端必须提供密码或来自特定的IP地址,可以通过围绕指令来实现,例如


这对我来说非常合适:

AuthType Basic
AuthName "myserver publicname"
AuthUserFile "/myserverpath/.htpasswds/public/passwd"
require ip 100.12.255.233
require valid-user
注: 只需将“require ip”和“my example ip”放在“require valid user”之前,它就做到了。我可以在不需要密码的情况下从我的ip登录,但是如果我从其他位置或我的移动设备访问,我需要密码


设置“满足任何条件”对我来说都不好(!),因为它禁用了我应用程序较低层次结构中的其他.htaccess设置,并使我的网站不安全。

+1这正是我所做的。此外,如果您想禁用某些目录中的检查(例如,某些公共/),只需将其放入subdir的
.htaccess
允许来自所有
满足任何
,那么您能否显示一个版本,该版本会查找有效的IP,如果没有请求密码,则会显示其位置htpasswd@drooh我还没有测试过,但是,也许把
Require ip
放在第一位就可以了。如果没有,问一个新问题。
<RequireAny>
    Require valid-user
    Require ip 1.2.3.4
</RequireAny>
Require valid-user
Require ip 1.2.3.4
AuthType Basic
AuthName "myserver publicname"
AuthUserFile "/myserverpath/.htpasswds/public/passwd"
require ip 100.12.255.233
require valid-user