1

remote-ipとhtaccess-fileを使用して提供されたユーザー名に応じて、apache2-webserver(2.2.9(Debian))上のいくつかのファイルのアクセス制御を実行したいと思います。

ルール:

  1. ローカルホストのすべてのユーザーはすべてのファイルにアクセスでき、自分自身を認証するように求められることはありません。
  2. リモートホストのユーザーは、http-basic認証を介して自分自身を認証する必要があります。また、1つのファイルを除くすべてのファイルにアクセスできますが、これらのファイルは表示されないはずです。

以下に掲載されている私の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 に答える