PHPを使用したユーザー認証
スクリプトごとにパスワード保護を実装したい場合は、header() 関数を $PHP_AUTH_USER および $PHP_AUTH_PW グローバル変数と組み合わせて使用し、基本認証スキームを作成できます。典型的なサーバーベースの認証リクエスト/レスポンスラウンドは次のようになります:
1. ユーザーが Web サーバーにファイルをリクエストします。ファイルが保護領域内にある場合、サーバーは応答ファイルのヘッダーに 401 (違法ユーザー) 文字列を追加して応答します。
2. ブラウザが応答を確認すると、ユーザー名/パスワードのダイアログ ボックスが表示されます。
3. ユーザーはダイアログ ボックスにユーザー名とパスワードを入力し、[確認] ボタンをクリックしてこの情報をサーバーに送信します。
4. ユーザー名とパスワードが有効な場合、現在認証されているユーザーが保護領域内にいる限り、保護されたファイルがユーザーに表示されます。上記の認証プロセスはすべて有効です。
単純な PHP スクリプトは、適切な HTTP ヘッダーを送信して、ユーザー名とパスワードのダイアログをクライアントの画面に自動的に表示することで、HTTP 認証の要求/応答システムをエミュレートできます。 PHP は、ユーザー入力ダイアログ情報を $PHP_AUTH_USER 変数と $PHP_AUTH_PW 変数に保存します。これらの変数を使用すると、非準拠のユーザー名/パスワード チェックのリストをテキスト ファイル、データベース、または指定した場所に保存できます
注: 3 つのグローバル変数 $PHP_AUTH_USER、$PHP_AUTH_PW、$PHP_AUTH_TYPE は、PHP がモジュールとしてインストールされている場合にのみ有効です。 CGI バージョンの PHP を使用している場合は、.htaccess ベースの認証またはデータベース ベースの認証の使用に制限されるため、ユーザーがユーザー名とパスワードを入力できるように HTML フォームを設計し、PHP に次の処理を行わせる必要があります。検証検査。
以下の例は 2 つの設定のチェックを示していますが、理論的には上記のユーザー名とパスワードのチェックと本質的には変わりません。
ファイルベースの保護を使用している場合、このアプローチはディレクトリを確実に保護するセキュリティブランケットではないことに注意してください。これはほとんどの人にとって明らかですが、ポップアップ ダイアログ ボックスと特定のディレクトリの保護を脳が結び付けている場合は、このプロセスを認識するために懸命に努力する必要があります。
http://www.bkjia.com/PHPjc/532524.html
www.bkjia.com
true