こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

htaccess パスワード及びユーザーエージェント制限 同時記述可能?

下記は、htaccessのID及びパスワードによるアクセス制限とユーザーエージェントによる制限の記述ですが、これらを一つのhtaccess内に記述し同時に行なうことは可能でしょうか(同時に行なえるのなら、一つのhtaccess内に必ずしも記述する必要はありません)?

つまり、下記のどちらか(又は両方)のパターンを行なう方法を知りたいのです。
パターン1:閲覧者が指定されたユーザーエージェントを使用しているか最初にチェックし、使用している場合、ID及びパスワードが入力できる。もしも、閲覧者が指定されたユーザーエージェントを使用していない場合、ID及びパスワードが入力できず、403.htmlへ飛ばす。

パターン2:閲覧者が正しいID及びパスワードを入力した後、閲覧者が指定されたユーザーエージェントを使用しているかチェックする。もしも、閲覧者が指定されたユーザーエージェントを使用していない場合、403.htmlへ飛ばす。

ポイント:
パターン1では、ユーザーエージェントのチェックに続き、ID及びパスワードのチェックが行なわれる。パタンーン2では、ID及びパスワードのチェックに続き、ユーザーエージェントのチェックが行なわれる。

*ID及びパスワードによるアクセス制限 開始*
AuthUserFile /home/test_directry/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
*ID及びパスワードによるアクセス制限 終了*

*ユーザーエージェントによる制限 開始*
SetEnvIf User-Agent "Mozilla" Goody
Order Deny,Allow
Deny from all
Allow from env=Goody
ErrorDocument 403
/test/403.html
*ユーザーエージェントによる制限 終了*

できれば、上記コードの改良方法を教えていただきたいのですが?

よろしくお願いします。

投稿日時 - 2008-07-07 21:59:22

QNo.4159035

困ってます

質問者が選んだベストアンサー

Satisfy All とすると両方の条件が満たされた場合にだけ、
アクセスが許可されます。

Satisfy Any で特定 IP からのアクセスはパスワード不要、その他から
アクセスする場合はパスワード認証するということはやったことが
ありますが、Satify All は使ったことがありません。

参考URL:http://httpd.apache.org/docs/2.0/ja/mod/core.html#satisfy

投稿日時 - 2008-07-08 23:23:32

補足

t-okuraさん
ご回答、ありがとうございました。
ご返答がおくれました。

なかなかコメントが頂けなかったため、スレッドを確認していませんでした。

上記の件、了解しました。試してみます。

投稿日時 - 2008-07-18 16:11:17

お礼

t-okuraさん

Satisfy Allで、正しく動作しました。

ありがとうございました。

投稿日時 - 2008-07-22 20:27:08

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問