- 締切済み
Basic認証のユーザとホストの併用について
htaccessを使った基本的なBasic認証に関しての質問です。 一般的なユーザに加えホスト制限も併用しようと思い、ユーザ毎ホストが違うのでhtaccessには下記のように2つ記述しましたが、ホスト制限が効いていないようです。 当然requireに登録ユーザ名の記述がなければアクセスできないのですが、ユーザaaaがホスト.***.comからでも通ってしまいます。 何が間違っているのでしょうか? AuthUserFile /home/***/.htpasswd AuthGroupFile /dev/null AuthName "Please input an user ID and a password." AuthType Basic <Limit POST GET> Order deny,allow Deny from all Allow from .***.or.jp require user aaa </Limit> <Limit POST GET> Order deny,allow Deny from all Allow from .***.com require user bbb </Limit>
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#246547
回答No.1
各Limitディレクティブに Satisfy All を追加したらどうなりますか?
お礼
回答ありがとうございます。 どうも色々試しているのですが、うまくいきません。 雰囲気としてはLimitで複数セットを作っても、ホストはセットの何れかにマッチすればokのようです。
補足
回答ありがとうございます。 Satisfy All はデフォルト値と思い入れていませんでしたが、敢えて入れても変化なかったんです。 htaccessは更新した段階で適用されていると思うのですが、ブラウザもテストの度に終了して立ち上げ直しブラウザのキャッシュも消去しても、繋がってしまいます。 そこで色々試してみました。 ホスト、ユーザのLimitセット(その中に一致するホスト名を含む)を増やし、ユーザを各セットで試した結果、何処に記述しても同じで通りました。ユーザ名が無ければ認証は通りませんでした。 セットに一致するホスト名がない場合は、認証画面が出るまでもなく弾かれました。(これが正常な挙動なのでしょう) 今度は、 <Limit POST GET> Order deny,allow Deny from all Allow from .***.or.jp require valid-user </Limit> と全て一まとめにしてみました。 ホスト名が一致しなければ認証画面が出ることなく弾かれました。 ホスト名が一致した場合は、認証画面が出て通ることが出来ました。 以上の結果でした。