1

我想根据远程IP和使用htaccess文件提供的用户名对apache2-webserver(2.2.9(Debian))上的某些文件进行访问控制。

规则:

  1. 来自 localhost 的所有用户都可以访问所有文件,并且永远不应要求自己进行身份验证。
  2. 来自远程主机的用户必须通过 http-basic 身份验证来验证自己。他们还可以访问除单个文件之外的所有文件,这些文件对他们来说是不可见的。

我在下面发布的 htaccess 文件允许远程用户登录和禁止访问 adm.php。不幸的是,本地主机用户需要输入密码。为了让本地用户在不弹出密码对话框的情况下访问 adm.php,我需要进行哪些更改?

AuthType Basic
Authname "Test-App"
AuthUserFile /etc/web_passwd
Require valid-user
Order Deny,Allow
Allow from 127.0.0.1
Deny from all
Satisfy Any

<Files adm.php>
   Order Deny,Allow
   Allow from 127.0.0.1
   Deny from all
   Satisfy all
</Files>
4

1 回答 1

1

启用 mod_setenvif 然后在您的$DOCUMENT_ROOT/.htaccess:

<Files "adm.php">
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1
   Satisfy all
</Files>

<FilesMatch "(?!^adm\.php)^.*$">
   AuthType Basic
   Authname "Test-App"
   AuthUserFile /etc/web_passwd
   Require valid-user

   Order      deny,allow
   Deny from  all
   Allow from 127.0.0.1
   Satisfy    any
</FilesMatch>
于 2013-02-13T18:50:24.857 回答