PHP3 を使用した HTTP 認証_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:26:56
オリジナル
1031 人が閲覧しました

HTTP認証機能は、PHPがApacheモジュールとして動作している場合のみ使用できます。 Apache のモジュール PHP スクリプトでは、Header() 関数を使用して「認証が必要です」メッセージをクライアントのブラウザに送信し、名前とパスワードが渡された後、ブラウザにユーザー名とパスワードの入力ウィンドウをポップアップ表示させることができます。 PHP スクリプトを含む URL は、それぞれユーザー名、パスワード、確認方法を表す $PHP_AUTH_USER、$PHP_AUTH_PW、および $PHP_AUTH_TYPE 変数を使用して再度呼び出されます。現在、確認方法は「BASIC」のみ対応しています。
ページ内でユーザーに認証を強制するコード スニペットの例は次のとおりです:
例 2-1. HTTP 認証の例:
if(!isset($PHP_AUTH_USER)) {
Header("WWW-認証: Basic realm="My Realm");
Header("HTTP/1.0 401 Unauthorized");
echo "ユーザーがキャンセルボタンを押した場合に送信するテキスト ";
exit;
}
else {
echo "Hello $PHP_AUTH_USER.
";
echo "パスワードとして $PHP_AUTH_PW を入力しました。
";
}
?>
$PHP_AUTH_USER と $ を単に出力するだけでなく、 PHP_AUTH_PW 変数 値に加えて、ユーザー名とパスワードの有効性をチェックしたり、データベースにクエリしたり、dbm ファイルでユーザーを検索したりすることもできます
バグの多い Internet Explorer ブラウザに注意してください。彼は順序に非常にうるさいです。したがって、HTTP/1.0 401 ヘッダー リクエスト


を送信する前に WWW-Authenticate ヘッダー リクエストを送信して、一部のユーザーが、このページで外部認証メカニズムを使用する場合、PHP_AUTH 変数は生成されません。この方法では、$REMOTE_USER 変数を使用して認証されたユーザーを表すことができます。
上記の方法では、同じサーバー上で非認証 URL を使用して認証済み URL のパスワードを盗むことを防ぐことができないことに注意してください。
Netscape と IE はどちらも、401 を受信した後、ローカル ブラウザ ウィンドウの認証キャッシュをクリアします。この方法では、ユーザー名とパスワードを再度入力する必要があり、この方法を使用して「タイムアウト」登録を実行したり、ログイン ボタンを提供したりできます。この方法は標準の HTTP ではありません。 Lynx でのテストでは 401 サーバー応答の認証がわかりませんでした。したがって、「前方」または「後方」関数を使用すると、ソース ファイルが開きます (クレジットがある限り)。要件は変更されていません)
この言語は Microsoft の IIS サーバーでは動作しないとされていますが、PHP 言語の CGI バージョンは IIS によって制限されます

http://www.bkjia.com/PHPjc/531914.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531914.html技術記事 HTTP認証機能は、PHPがApacheモジュールとして動作している場合のみ使用できます。 Apache のモジュール PHP スクリプトでは、Header() 関数を使用して、クライアントのブラウザに「...
」を送信できます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート