htaccess + htpasswd: パスワードを指定せずに PHP スクリプトを実行できないようにする方法

htaccess + htpasswd: パスワードを指定せずに PHP スクリプトを実行できないようにする方法

私のサイトは Linux 上の Apache で管理されています。ベース ディレクトリにはサブ フォルダ fill があります。このサブ フォルダには、php スクリプト do.php があります。

これが私の .htaccess です:

AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user

これが私の .htpasswd です:

ab12:2yd32253zi7Nz2

私が行くときhttp://mysite/fillユーザー名とパスワードを尋ねられます。それらを指定すると(ab12とパスワード)、正常にログインし、このfillフォルダにあるindex.htmlの内容が表示されます(つまりhttp://mysite/fill/index.html)。次に、閲覧履歴と以前に保存したすべてのパスワードを消去します。その後、スクリプトを実行するとhttp://mysite/fill/do.php認証は一切求められません。

質問: 実行時に資格情報を要求することは可能ですかhttp://mysite/fill/do.php? htaccess に変更はありますか?

ありがとう。

答え1

見つめているApache ドキュメントの上認証、承認、アクセス制御残念ながら、ログアウトできません。

だから問題はhttp://mysite/fill/do.php資格情報は求められません。ここでの実際の問題は、認証をリセットできないことです。

ログアウトするにはどうすればいいですか?

ブラウザが最初に基本認証を実装し始めて以来、Web サイトの管理者は、ユーザーをログアウトさせる方法を知りたいと思っていました。このチュートリアルで前述したように、ブラウザは認証領域でユーザー名とパスワードをキャッシュするため、これはサーバー構成の機能ではなく、ブラウザに資格情報を忘れさせることが問題です。これにより、次回リソースが要求されたときに、ユーザー名とパスワードを再度入力する必要があります。公共の場所でブラウザを使用していて、次の人があなたの銀行口座にアクセスできないようにブラウザをログインしたままにしたくない場合など、これが望ましい状況は数多くあります。

しかし、これはおそらく基本認証に関して最も頻繁に尋ねられる質問であるにもかかわらず、これまでのところ、主要なブラウザ製造元はいずれもこれを自社製品に組み込むのが望ましい機能とは考えていません。

したがって、この質問に対する答えは、できません。申し訳ありません。

これを見ると質問、ログアウトする他の方法を調べることができるかもしれません。

関連情報