我正在尝试从内容来自我的测试应用的书签中弹出iframe。测试应用程序做的不多,但让我登录并设置一些会话变量。首先,我使用Perl的Catalyst框架开发了它,并且它运行良好。我可以在某个窗口或iframe中登录测试应用程序,这样可以使会话在第三方网站上保持正常。
现在我需要在PHP中使用CakePHP框架做类似的事情。出于某种原因,在第三方网站上打开iframe时,每个浏览器中的会话都会消失。如果它在开发站点(iframe src所在的同一站点)上启动,它会在登录会话中打开。 CakePHP应用程序在标准的Ubuntu Apache 2安装上运行。
我发现一些文档在IE中讨论了P3P标题导致了这些问题,但是a)它在所有浏览器中,并且b)我和Fiddler一起观看并看到了P3P标题被发送。
我没有看过来自Catalyst应用程序的流量,看看有什么不同。我想这是我的下一步,但坦率地说,我已经把足够的时间用于此了。以为我会四处询问,看看我能找到什么。
谢谢, 尼克
答案 0 :(得分:2)
这是我发现的设计。 CakePHP在core.php中有一些设置,可以为会话处理增加额外的安全性。
此页面有一些很好的提示:
http://bakery.cakephp.org/articles/view/how-to-bend-cakephp-s-session-handling-to-your-needs
基本上我这样做了:
<强> core.php中强>
Configure::write('Session.save', 'my_session_handler');
<强> my_session_handler.php 强>
ini_set('session.referer_check', '');