私のサーバーには 2 つの PHP プロジェクトがあります。1 つは TP フレームワークに基づく企業 Web サイトで、もう 1 つは同じく PHP Web サイトですが、購入した既製のビデオ ライブ ブロードキャスト Web サイトです。
私はメイン ドメイン名を会社の Web サイト www.xxx.com に指定し、次に Alibaba Cloud 上にセカンダリ ドメイン名を構築して、ライブ ビデオ Web サイト zb.xxx.com を指定しました。
さて、要件は、任意の Web サイトで登録してログインした後、別の Web サイトにログインできることです。専門家に聞きたいのは、現在のプロジェクトに限らず、任意の Web サイトの登録フォームを送信できるかということです。データベースを別のプロジェクトのデータベースに送信できますか?フォームの書き方は?
百度で見つからないので、専門家にアドバイスを求めるためにここに来るしかありません、ありがとう
私のサーバーには 2 つの PHP プロジェクトがあります。1 つは TP フレームワークに基づく企業 Web サイトで、もう 1 つは同じく PHP Web サイトですが、購入した既製のライブビデオ Web サイトです。
私はメイン ドメイン名を会社の Web サイト www.xxx.com に指定し、次に Alibaba Cloud 上にセカンダリ ドメイン名を構築して、ライブ ビデオ Web サイト zb.xxx.com を指定しました。
さて、要件は、任意の Web サイトで登録してログインした後、別の Web サイトにログインできることです。専門家に聞きたいのは、現在のプロジェクトに限らず、任意の Web サイトの登録フォームを送信できるかということです。データベースを別のプロジェクトのデータベースに送信できますか?フォームの書き方は?
百度で見つからないので、専門家にアドバイスを求めるためにここに来るしかありません、ありがとう
フォームは実行できません。対応する処理ページで別のプロジェクトにリクエストを手動で送信できます。ところで、問題を気にしないのであれば、この種のマルチサイト ユーザー同期 oauth を使用する方が良い解決策です。
このプロジェクトに送信した後、データベースをリモートでリンクしてデータを別のプロジェクトに書き込むことができます。フォームを 2 回送信する必要はありません。
私も以前このような状況になったことがあります。しかし、私の 2 つのプロジェクトは同じデータベースを共有しています。
または、セッションの範囲を設定することもできます。
www.xxx.com と zb.xxx.com の範囲を見てください。これらはすべて xxx.com である必要があります
次に、メイン エントリ ファイルに次のコードを追加します (セッションが開かれる前)
ini_set('session.cookie_path', '/');
ini_set('session.cookie_domain', '. xxx .com');
これが私が解決した方法です。
セッション共有メカニズム
クロスドメインは不可能です!
ajax を使用し、クロスドメインに CORS を使用し、フォームを現在のプロジェクトに送信し、ajax を使用して別のプロジェクトをリクエストします。
シングル サインオン ソリューションについてお問い合わせください。
一時的な解決策は、プロジェクト A をデータベースに入れるときに、プロジェクト B のコピーもデータベースに入れるのを忘れるということです。推奨される解決策は、シングル サインオン システム (SSO) を使用し、SSO からのログインを確認することです。ログインするたびに