ホームページ > バックエンド開発 > PHPチュートリアル > PHP Web システムでのマルチドメイン ログイン失敗の解決策_PHP チュートリアル

PHP Web システムでのマルチドメイン ログイン失敗の解決策_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:09:19
オリジナル
881 人が閲覧しました

以下は単純な論理構造であり、正式なシステムでは特有の処理が必要となります。


ここで注意する必要があるのは、暗号化と復号にはセキュリティ検証が必要であるということです。しかし、この方法は完璧ではありません。2 つのサイトは同じ第 1 レベルのドメイン名を持っている必要があります。また、この完全に Cookie ベースの方法は十分に安全ではありません

$info = callloginserver() ; // ログインサーバーにアクセスします
if (!empty($info)) // ログイン成功
}

// ユーザーがログインしていない場合は、このシステムにログインし、ログインサーバーインターフェイス

関数を呼び出します() //通常のログイン

{
......//ユーザーの正当性を検証します
$_session['uid'] = $user_id;
setcookie('sign', encrypt($pass9), ' ', '/', ' the.com');
}
最初にユーザーがログイン システムにログインしているかどうかを確認します
functionsign()
{
$sign = $_cookie['sign'];
if( !empty($sign))
{
$sign = decrypt($sign);
.........///ログイン成功
}
}

ユーザーがログインしていない場合、このシステムにログインし、ログインサーバーインターフェースを呼び出します

function login() //このシステムにログインします
{

.....//ログイン成功
Callseverlogin();//ユーザーにログインするように通知します

}

ユーザーがいずれかのサイトにログインすると、システムは他のサイトのログイン インターフェイスを呼び出して、他のサイトでのユーザーのログインを完了し、対応するログイン情報を設定します。 ; または、ユーザーがログインすると、ユーザーのログイン情報のみがシステムに保存され、ユーザーが他のサイトにログインするときは、ユーザーがログインしているかどうかに関する情報を取得するようにシステム インターフェイスに要求する必要があります。前者の方法の欠点は、ユーザーが他のサイトを使用しているかどうかに関係なく、それらのサイトがユーザーのステータスを保存する必要があることです。後者の方法では、すべての圧力がログイン システムに転送されます。ユーザー出口の統一された操作を実現したい場合は、サイトがログイン システムの出口インターフェースを呼び出し、ログイン システム インターフェースが他のサイトの出口インターフェースを呼び出すか、ユーザーに出口を示すマークを設定する必要があります。マークが存在しない場合は、この時点でマークを消去するだけです。マークが存在しないことが他のサイトに検出された場合、ユーザーがシステムを終了したことがわかります。

この処理方法では、ログインシステムと個別サイト間のログインインターフェースとログアウトインターフェースを規定する必要があります。これらのインターフェイスを通じて、Web サイトはユーザーのログインまたはログアウトを簡単に処理できます:


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

tru​​ehttp://www.bkjia.com/PHPjc/444806.html技術記事以下は単純な論理構造であり、正式なシステムでは特殊な処理が必要です。 ここで注意が必要なのは、暗号化と復号にはセキュリティ検証が必要であるということです。しかし、この方法も完璧ではありません...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート