ホームページ  >  記事  >  バックエンド開発  >  PHP は、クロスドメイン ログインを実現するために、第 1 レベルのドメイン名と第 2 レベルのドメイン名で COOKIE を使用します。

PHP は、クロスドメイン ログインを実現するために、第 1 レベルのドメイン名と第 2 レベルのドメイン名で COOKIE を使用します。

WBOY
WBOYオリジナル
2016-06-13 13:04:251394ブラウズ

PHP は、第 1 レベルのドメイン名で COOKIE を使用して、第 2 レベルのドメイン名でクロスドメイン ログインを実現します

通常、Cookie を使用する場合、通常はこのサイト内での使用を制限し、1 つのドメイン名でのみ使用します。

www.xhbin.com で Cookie を使用したい場合は、このサイトの下のファイルに Cookie を設定するだけです

しかし、第 1 レベルのドメイン名で設定された Cookie を実装し、それを第 2 レベルのドメイン名で使用したい場合はどうすればよいでしょうか? ?

たとえば、この場合: 第 1 レベルのドメイン名は www.xhbin.com などの Web サイトであり、その下に bbs.xhbin.com などの第 2 レベルのドメイン名があります。

第 1 レベルのドメイン名でログインした後も、この Cookie を第 2 レベルのドメイン名に保持したい、つまり、同期ログインの効果を実現するために、

それでは、この Cookie をどのように設定するのでしょうか?? それは実際には非常に簡単です。

ドメイン名 (www.xhbin.com) を例に挙げると、次のように Cookie を設定できます: setcookie("fangbinbin","mengfei",time()+3600," /”,”.xhbin.com”);

その後、www.xhbin.com と bbs.xhbin.com で直接使用できます (echo $_COOKIE['fangbinbin']; ) 設定したCookieの値を出力できるようになります

これで同期ログインの問題は解決します。 !

?

もちろん、3 つ以上のドメイン名が関係する場合は、ログイン時の第一レベル ドメイン名のログイン ページへの統合 POST など、統合されたログイン インターフェイスと終了インターフェイスを用意することが最善です。 。

?

次に、この Cookie に含まれるユーザーのログイン セッション情報を、memcached などの Key-Value タイプのキャッシュに保存します。 memcachedDB など。IO を削減し、ユーザー エクスペリエンスを提供するために、ファイルや DB の書き込みを避けるようにしてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。