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 中的会话依赖它们,您将无法访问它们。

存在多个垫片以允许来自 iframe 的 cookie,例如 IE 的 P3P 标头。

虽然,Safari 第三方策略更难绕过,所以你可能不得不简单地改变你使用会话的方式。您可以手动设置会话并使用在客户端和服务器之间传输的 id(PHP 提供了一种类似的方法),或者在 facebook 上,您可以依靠 signed_request / getLoginStatus 来管理应用程序中的身份验证。

于 2012-07-05T04:43:34.940 回答