人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ApacheのBasic認証設定について教えてください。

<環境>
Apache/2.0.54
FedoraCore4

<質問>
『HEADメソッドのみ無条件にアクセスを許可して、そのほかのメソッドは全てBasic認証を要求』
というように設定したいのですが、下記のように.htaccessを記述したところ、GETメソッドも無条件にアクセスできてしまします(POSTなどはBasic認証されます)。
要求どおりの設定を行うにはどのように、記述すればよいのでしょうか?

[.htaccessの内容]

SSLRequireSSL
AuthUserFile /etc/httpd/conf/passwd
AuthGroupFile /dev/null
AuthName "Please enter username and password"
AuthType Basic

<LimitExcept HEAD>
Require user administrator
</LimitExcept>


●質問者: varjak
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.htaccess 2.0 Apache BASIC BASIC認証
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● toohigh
●60ポイント

Limit系のディレクティブによるアクセス制御では HEAD / GET をまとめて "GET" キーワードで制御する仕組みになっています。それでうまくいかないのでしょう。

対策ですが、こんな感じでいかがでしょうか。

SetEnvIf Request_Method HEAD headreq

<Directory /docroot>

Order Allow,Deny

Allow from env=headreq

Require user administrator

Satisfy Any

</Directory>

・HEAD メソッドなら、環境変数をセット

・どちらかの条件が満たされたらアクセス許可

(1) 環境変数がセットされている

(2) BASIC 認証が通っている

・・・という感じですね。

◎質問者からの返答

なるほど、GETとHEAD区別しないんですね

もっとマニュアルをよく読みます・・

対策もうまくいきました

とても助かりました、有難うございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ