0

.htaccess ファイルを使用してダイジェスト認証でフォルダーを保護しようとしています。

AuthType Digest
AuthName "Restricted Area"
AuthUserFile /web/htdocs/www.domain.com/.../.htdigest

Require valid-user

コマンド「htdigest」でパスワードのファイルを作成しました。ローカル サーバーではすべて正常に動作しますが、リモート サーバー (ホストされている Web サイト) では正常に動作しません。正しいパスワードを入力しても、ブラウザーにログイン パネルが表示されます。

リモートサーバーで PHP が Apache のモジュールとしてではなく CGI として実行されている...これが原因でしょうか? 回避策はありますか?

.htaccess を使用した基本認証は、同じリモート サーバーで正常に機能します。

4

2 に答える 2

0

上記のコードには AuthDigestDomain ディレクティブがありません。ドキュメントには次のように書かれています:

このディレクティブは常に指定する必要があり、少なくともこのスペースのルート URI (のセット) を含める必要があります。そうしないと、クライアントは、このサーバーに送信されるすべての要求に対して Authorization ヘッダーを送信します。AuthDigestNcCheck がオンの場合、リクエストのサイズが大きくなるだけでなく、パフォーマンスに悪影響を及ぼす可能性もあります。

mod_auth_digestただし、モジュールの代わりにApacheモジュールを有効にすることで、問題を確実に解決しましたmod_digest

于 2009-10-26T09:06:06.373 に答える
0

スクリプトが CGI として実行されている場合は、www としてではなく、ローカル ユーザーとして実行されていることを意味します。これがおそらく問題です。CGIは唯一のオプションですか?

于 2009-10-12T10:41:33.087 に答える