所以我想限制访问网址.现在,如果他们来自给定的IP地址,则不应提示他们输入密码.如果他们不是来自givin IP地址,则应提示他们输入密码.
所以其中一个或两个:
AuthUserFile /some/path/.htpasswd
AuthName "Please Log In"
AuthType Basic
require valid-user
Run Code Online (Sandbox Code Playgroud)
和:
order deny,allow
deny from all
allow from x.x.x.x
Run Code Online (Sandbox Code Playgroud)
Fbn*_*Fgc 63
您可以使用Apache "Satisfy"指令.
以下是使用它的示例:
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
Run Code Online (Sandbox Code Playgroud)
无密码访问权限仅允许从127.0.0.1开始.
希望这可以帮助.
注意
mod_access_compat提供的指令已被mod_authz_host弃用.将旧的指令(如Order,Allow或Deny)与新的指令(如Require)混合在技术上是可行的,但不鼓励.创建此模块是为了支持仅包含旧指令的配置,以便于2.4升级.请查看升级指南以获取更多信息.
在你的情况下Allow from 1.2.3.4被替换为Require ip 1.2.3.4
可以通过授权容器来组合多个Requires(例如Require valid-user和Require ip).所以说客户端必须提供密码或来自特定的IP地址,可以通过将指令包围起来来完成,例如RequireAny
<RequireAny>
Require valid-user
Require ip 1.2.3.4
</RequireAny>
Run Code Online (Sandbox Code Playgroud)
虽然,这是一个特殊情况,如最后所述 Require
当在单个配置节中使用多个Require指令并且不包含在另一个授权指令中时
<RequireAll>,它们隐式包含在<RequireAny>指令中.因此,授权用户的第一个授权整个请求,并忽略后续的Require指令.
换句话说,RequireAny这里是可选的,你可以列出
Require valid-user
Require ip 1.2.3.4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28713 次 |
| 最近记录: |