ホームページ バックエンド開発 PHPチュートリアル 2 つのプロジェクト (それぞれ 2 つのサーバー下) に同じログイン機能を提供するにはどうすればよいですか?アイデアを探しています

2 つのプロジェクト (それぞれ 2 つのサーバー下) に同じログイン機能を提供するにはどうすればよいですか?アイデアを探しています

Jun 13, 2016 pm 01:18 PM
com cookie php session

2 つのプロジェクト (それぞれ 2 つのサーバー上) に同じログイン機能を提供するにはどうすればよいですか?アイデアを募集しています
プロジェクト a: 192.168.0.1 にデプロイ
プロジェクト b: 192.168.0.2 にデプロイ

今度はプロジェクト c を実装したいと思います。 a、b プロジェクトには、c でログインした後にのみアクセスできます。

ログイン状況を Cookie に保存する予定ですが、a と b は 2 つの異なるサーバー上にあります。このセッション (Cookie) を渡すにはどうすればよいですか?
いくつかアイデアをください、ありがとう!

-----解決策--------------------------------
1日経ってもまだ満足できない場合は、私が答えます
------解決策----------------------
セッションはテーブルまたはメモリに書き込まれますキャッシュ ユーザーのステータスを 1 か所だけで管理する
------解決策------------------
初めての場合の Cookie の設定の役割-および第 2 レベルのドメイン名 ドメインはルート ドメイン名です
異なるドメイン名の場合、検証用にセッション ID の後に URL を続けることができます
セッションがテーブルに書き込まれると、ヘッダー情報が暗号化用の IP 。ドメイン名を直接入力すると、この情報が検証に使用されます。
この sprintf('%08x', crc32(!empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT] と同様です。 '] . $ip . $session_id : $ip . $session_id)) ;

より良い解決策があるかもしれません
------解決策---------
シングルサインオンについて学習できます
私たちのアイデアは、PHP のセッション データを一元的に保存することで、異なるサーバーで実行されている PHP に対して共通のセッション データベースが 1 つだけ存在し、サーバー A にログインするユーザーによって生成されたセッション データがサーバー B、C、D に保存されるようにすることです。など。サーバーを共有できるため、複数のログインが不要になります。ただし、PHP のセッションには Cookie が必要であり、Cookie はドメイン名に関連しているため、このソリューションを使用する各サーバーは、次のような同じドメイン名 (少なくとも同じ第 2 レベルのドメイン名) を持つ必要があります。
1. すべてサーバー ドメイン名はすべて www.whybsd.com です。これは、現時点では、PHP で Cookie ドメイン名を www.whybsd.com に設定します。
2. すべてのサーバーのドメイン名。 a.whybsd.com、b.whybsd.com など、.whybsd.com で終わるサードレベル ドメイン名です。このとき、Cookie を共有するには、PHP で Cookie ドメイン名を .whybsd.com に設定します。
------解決策------------------
CAS を使用する
------解決策---------
http://www.phpweblog.net/linxiaobo /archive/2009/04/15/6419.html
これは、P3P 以降の文字列を思い出せない、よくあるものです。しばらく様子を見てみると、P3P が正しく設定されていれば間違いなく可能です。このソリューションにより、クロスドメイン Cookie の問題が個人的に解決されました。

2 つのドメイン名の対応に注意する必要があります。 。 P3P、IE、Safari を追加しないと通過しません。これはおそらくサードパーティ Cookie と呼ばれるものでしょうか。


さらに、iframe を使用することもできます (これにはクロスドメインの概念がありません)。URL アンカーを介して、異なるドメインの親子フレーム間で値を渡すことができます。アイデアは自分で拡張できます

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles