在主页面中创建的IFRAME中访问会话变量

时间:2012-07-05 04:36:56

标签: php html facebook-graph-api iframe

我已经在PHP.as中创建了代码。

我有index.php作为主页,它有以下结构。

<table>

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

</table>

现在当我尝试从iframe中加载的页面访问会话变量时, 该变量未被访问,或者没有为IFRAME中加载的页面设置。

由于在IFRAME中加载的页面位于同一服务器的同一目录中。

1 个答案:

答案 0 :(得分:0)

大多数浏览器不允许来自iframe的cookie,并且由于PHP中的会话依赖于它们,您将无法访问它们。

存在多个填充程序以允许来自iframe的cookie,例如IE的P3P头。

虽然Safari第三方策略更难绕过,因此您可能只需更改使用会话的方式。您可以手动设置会话并使用在客户端和服务器之间传送的ID(PHP提供了类似的方法),或者在Facebook上,您可以依靠signed_request / getLoginStatus来管理应用程序中的身份验证。