Htaccess,允许 IP,拒绝 IP 并提示其他

Htaccess,允许 IP,拒绝 IP 并提示其他

我有一个不需要登录提示的 IP 列表...我有一个被禁止的 IP 列表(没有提示,只是拒绝访问)但我需要对所有其他 IP 进行提示...

我尝试了这个:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile .htpasswd
Require valid-user

Order Deny,Allow
Deny from all

Allow from 82.xxx.xxx.xxx

Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx

Satisfy any

但是如果你使用被禁止的 IP,你就会得到提示...如果你改变 Satisfy(“满足所有”),你就会得到允许 IP 的提示...

答案1

我找到了解决我的问题的技巧:

Order Allow,Deny
Allow from all

Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx
Deny from 109.xxx.xxx.xxx

<IfModule mod_rewrite.c>
    RewriteEngine On

    <If "%{REMOTE_ADDR} != '82.xxx.xxx.xxx'">
        AuthType Basic
        AuthName "restricted area"
        AuthUserFile /var/www/.htpasswd
        require valid-user
    </If>
</IfModule>
Satisfy All

但是该解决方案仅适用于 apache >= 2.4,因为旧版本不支持 IF 语句....

你还有其他针对 apache 2.2 的解决方案吗?

相关内容