やりたいこと
- Aサーバーのhoge.phpにて$_SESSION["name"]に乱数を保持し、Bサーバーのmoge.phpへ遷移
- Bサーバーのmoge.phpから<img src="Aサーバー/hoge2.php">というタグでAサーバーのhoge2.phpを呼び出す(画面遷移はBサーバーのmoge.phpまでとするため)
- Aサーバーのhoge2.phpが実行されると、事前に保持していた$_SESSION["name"]の値をDBにINSERTする。
※AサーバーとBサーバーはそれぞれ物理的に異なるサーバーで、別ドメインで運用しています。
※セッションの有効期限はデフォルト24分となっていますが、全工程は20秒もかからず終わるので期限切れでセッションが無くなったわけではないと思われます。
※AサーバーはHTTPS、BサーバーはHTTPとなります。
※テストに使用したブラウザはGoogle Chromeです。(Firefoxで試した結果意図した動きとなり$_SESSION["name"]の値を取得することが出来ました。)
現状
Aサーバーのmoge2.phpをimgタグで呼び出した際、$_SESSION["name"]が空になっている。
クロスドメイン、CORS辺りが影響してると考え調べて出てきたヘッダー設定(後述)をいくつか試してみましたが
どれも状況変わらず。
※Aサーバーのhoge2.phpに追記してみたが特に挙動が変わらなかった設定
PHP
1header('Access-Control-Allow-Origin: *') 2header('Access-Control-Allow-Headers: *') 3header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure')
PHPフレームワークは使用していません、Aサーバーではnginxを使用しており
特殊な設定は何もしていないので、色々と設定が足りていないような気はしています。
知りたいこと
- Aサーバー側だけの施策で「やりたいこと」を実現可能か否か
- 実現可能な場合、具体的に何をすれば良いのか
回答1件
あなたの回答
tips
プレビュー