以下は単純な論理構造であり、正式なシステムでは特有の処理が必要となります。
ここで注意する必要があるのは、暗号化と復号にはセキュリティ検証が必要であるということです。しかし、この方法は完璧ではありません。2 つのサイトは同じ第 1 レベルのドメイン名を持っている必要があります。また、この完全に Cookie ベースの方法は十分に安全ではありません
$info = callloginserver() ; // ログインサーバーにアクセスします
if (!empty($info)) // ログイン成功
}
// ユーザーがログインしていない場合は、このシステムにログインし、ログインサーバーインターフェイス
関数を呼び出します() //通常のログイン
{......//ユーザーの正当性を検証しますfunction login() //このシステムにログインします
$_session['uid'] = $user_id;
setcookie('sign', encrypt($pass9), ' ', '/', ' the.com');
}
最初にユーザーがログイン システムにログインしているかどうかを確認します
functionsign()
{
$sign = $_cookie['sign'];
if( !empty($sign))
{
$sign = decrypt($sign);
.........///ログイン成功
}
}
ユーザーがログインしていない場合、このシステムにログインし、ログインサーバーインターフェースを呼び出します
{.....//ログイン成功
ユーザーがいずれかのサイトにログインすると、システムは他のサイトのログイン インターフェイスを呼び出して、他のサイトでのユーザーのログインを完了し、対応するログイン情報を設定します。 ; または、ユーザーがログインすると、ユーザーのログイン情報のみがシステムに保存され、ユーザーが他のサイトにログインするときは、ユーザーがログインしているかどうかに関する情報を取得するようにシステム インターフェイスに要求する必要があります。前者の方法の欠点は、ユーザーが他のサイトを使用しているかどうかに関係なく、それらのサイトがユーザーのステータスを保存する必要があることです。後者の方法では、すべての圧力がログイン システムに転送されます。ユーザー出口の統一された操作を実現したい場合は、サイトがログイン システムの出口インターフェースを呼び出し、ログイン システム インターフェースが他のサイトの出口インターフェースを呼び出すか、ユーザーに出口を示すマークを設定する必要があります。マークが存在しない場合は、この時点でマークを消去するだけです。マークが存在しないことが他のサイトに検出された場合、ユーザーがシステムを終了したことがわかります。
Callseverlogin();//ユーザーにログインするように通知します
}
この処理方法では、ログインシステムと個別サイト間のログインインターフェースとログアウトインターフェースを規定する必要があります。これらのインターフェイスを通じて、Web サイトはユーザーのログインまたはログアウトを簡単に処理できます:
http://www.bkjia.com/PHPjc/444806.html