ホームページ > バックエンド開発 > PHPチュートリアル > ブラウザ Basic Auth 認証 phpMyAdmin 自動ログイン_PHP チュートリアル

ブラウザ Basic Auth 認証 phpMyAdmin 自動ログイン_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:08:34
オリジナル
1436 人が閲覧しました

この記事では、ブラウザの 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) を使用して表示すると、実際には次のような追加のリクエスト ヘッダーが送信されるだけであることがわかります。

権限: 基本 bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=

4.Basic認証認証の自動ログインソリューション
認証に合格するには、主に2つの方法があります

•まず、リクエストヘッダーに Authorization を追加します (JavaScript で実装可能):

認可: 「ユーザー名とパスワードの基本的なbase64暗号化文字列」
•2 番目は、URL にユーザー名とパスワードを追加します (IE ではサポートされていません):
http://ユーザー名:パスワード@ドメイン.com/login.php

js を使用してリクエスト ヘッダーを追加するには、XMLHttpRequest を使用できます。実装コードは次のとおりです。

コードは次のとおりですBasic Auth 認証自動ログイン ソリューションを要約すると—
コードをコピー
<頭>

ログイン
<スクリプト>
関数ログイン() {
var ユーザー名 = document.getElementById("ユーザー名").value;
var パスワード = document.getElementById("パスワード").value;

xhr = 新しい XMLHttpRequest();
xhr.open("POST", "http://localhost/login.php", false, ユーザー名, パスワード);
xhr.send(null);

xhr.status == 200;
を返します }




<フィールドセット>
ログイン












1. ユーザー名とパスワードは URL に直接記述されます。

短所: 安全性が十分ではなく、IE ではサポートされていません。

2. PHP がユーザー名とパスワードをフォームに入力し、ページがアップロードされると、送信用の Authorization リクエスト ヘッダーが生成されます。

欠点: このシステムと phpMyAdmin は同じドメイン内に存在する必要があります。たとえば、このシステムは admin.domain.com にあり、phpMyAdmin は phpmyadmin.domain.com にあります。この場合、js をドメイン間で送信することはできません。

3. このシステムは、phpMyAdmin が配置されているドメイン内のフォームにユーザー名とパスワードを投稿し、そのフォームを使用して js を使用してログインします。

欠点: クロスドメインを実現するには、phpMyAdmin が配置されているドメインに新しいページを追加する必要があります。

http://www.bkjia.com/PHPjc/629832.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629832.html技術記事この記事では、ブラウザの Basic 認証を使用した phpMyAdmin の自動ログインについて説明します。詳しく知りたい学生は参照してください。 1. 要件 phpMyAdmin に自動的にログインします。やっと解決できました...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート