0

私のサイトでは、ログイン後に安全なドメインから通常のドメインにユーザーをリダイレクトするために、2 つのドメイン (1 つは共有 SSL 証明書を使用し、もう 1 つはプレーン http を使用) 間でセッション データを共有する方法が必要でした。セッションデータを保持しながら。

だからこれは私が思いついたものです:

  1. ユーザーは安全なログイン ページに資格情報を入力し、フォームを送信します。

  2. フォームが送信されると、ページが更新されます。更新時に、ユーザーが認証され、セッションが開始され、セッション変数が設定されます。次に、セキュアなドメインのユーザーの SID が GET データとして非セキュアなドメインのページに送信され、そこでセキュアな SID がセッション変数として設定されます。

  3. ユーザーはメインの非セキュア ページにリダイレクトされ、セッションが開始され、セキュア SID が読み取られ、最後に非セキュア ドメインのセッションがセキュア SID で再開されます。このようにして、ドメイン間で同じセッションが維持されます。

このアプローチには 1 つだけ問題があります。コードがリダイレクト ヘッダーに到達するとすぐに、作成した file_get_contents() がキャンセルされます。コード内:

    //The following line never completes
    file_get_contents('http://nonsecuresite.com/cookie.php?sid=session_id()');
    header('Location: http://nonsecuresite.com');

もちろん、SID は暗号化されていますが、わかりやすくするために省略しました。

次のページ、同期 file_get_contents 関数に移動する前に、スクリプトが要求が完了するのを待機させる方法はありますか?

4

0 に答える 0