この記事では、ブラウザの Basic 認証認証を使用した phpMyAdmin の自動ログインについて説明します。詳しく知りたい学生は参照してください。
1. 需要
phpMyAdminに自動的にログインします。最後に、Basic 認証認証を使用するすべての Web ページに自動的にログインするという問題を解決できます。
.
2. phpMyAdmin
の4つの認証ログイン方法
1.config 設定ファイル。ログインを許可するユーザー名とパスワードをconfig.inc.php設定ファイルに直接記述します。
2. クッキー。最も一般的な方法は、ホームページのフォームに記入してログインすることです。
3.http。 HTTP 基本認証方式。ブラウザのポップアップ ダイアログ ボックスを使用してログインします。 Cookie 方式との違いは主にユーザー エクスペリエンスにあります。
4.サインオン。システム統合に適したシングルサインオン。ユーザーはシステムにログインした後、ユーザー名とパスワードを入力しなくても、ワンクリックで phpMyAdmin にログインできます。
参考: http://wiki.phpmyadmin.net/pma/Auth_types
論理的には、サインオン方法がニーズを満たすための優先ソリューションであるはずですが、プロジェクト開発には常に妥協と調整が含まれており、既存のシステムの運用への干渉を最小限に抑える必要があります。さらに、ログインするためのサインオン方法を実装する一方で、ユーザーがユーザー名とパスワードを入力する元のログイン方法、つまりバックアップ ログイン ソリューションを保持することも必要です。このことが問題を複雑にしています。
3. 基本認証とは
既存システムはBasic認証を使用しているため、今回はワンクリックでログインする方法を検討しました。
HTTP 基本認証を必要とする URL にアクセスする場合、ユーザー名とパスワードを指定しないと、サーバーは 401 を返し、ブラウザーはユーザー名とパスワードの入力を求めるプロンプトを表示します。例は次のとおりです:
コードは次のとおりです | コードをコピー |
if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="My Realm"'); Header('HTTP/1.1 401 Unauthorized'); } その他 { echo " こんにちは {$_SERVER['PHP_AUTH_USER']}。 ";echo " パスワードとして {$_SERVER['PHP_AUTH_PW']} を入力しました。 ";} ?> |
login.php として保存し、http://localhost/login.php を参照して効果を確認します。
ブラウザ基本認証: IE9 および Chrome のポップアップ認証ダイアログ
ブラウザにポップアップ表示されるウィンドウにユーザー名とパスワードを入力します。Chrome Developer Tools (または Firebug) を使用して表示すると、実際には次のような追加のリクエスト ヘッダーが送信されるだけであることがわかります。
4.Basic認証認証の自動ログインソリューション
認証に合格するには、主に2つの方法があります
認可: 「ユーザー名とパスワードの基本的なbase64暗号化文字列」
•2 番目は、URL にユーザー名とパスワードを追加します (IE ではサポートされていません):
http://ユーザー名:パスワード@ドメイン.com/login.php
コードをコピー | |
<頭>
<スクリプト> 関数ログイン() { var ユーザー名 = document.getElementById("ユーザー名").value; var パスワード = document.getElementById("パスワード").value; xhr = 新しい XMLHttpRequest(); xhr.open("POST", "http://localhost/login.php", false, ユーザー名, パスワード); xhr.send(null); xhr.status == 200; を返します } スクリプト> |