0

PHPでコードを作成しました。次のようになります。

メインページとしてindex.phpがあり、次の構造になっています。

<table>

    <tr><td><?PHP $_session['id']=$id; ?></td></tr>
    <tr><td><iframe ....></iframe></td></tr>

</table>

iframeに読み込まれているページからセッション変数にアクセスしようとすると、変数がアクセスされていないか、IFRAMEに読み込まれているページに設定されていません。

IFRAMEにロードされたページは、同じサーバーの同じディレクトリにあるため。

4

1 に答える 1

0

ほとんどのブラウザーは iframe からの Cookie を許可しておらず、PHP のセッションがそれらに依存しているため、それらにアクセスすることはできません。

IE の P3P ヘッダーのように、iframe からの Cookie を許可するために複数の shim が存在します。

ただし、Safari のサード パーティ ポリシーを回避するのは非常に難しいため、おそらくセッションの使用方法を変更する必要があります。セッションを手動で設定し、クライアントとサーバー間を移動する ID を使用することができます (PHP は、同様の方法を提供します)。Facebook では、signed_request / getLoginStatus を使用してアプリの認証を管理できます。

于 2012-07-05T04:43:34.940 に答える