我有两个网站,让我们说他们是example.com和anotherexample.net.上anotherexample.net/page.html,我有一个IFRAME SRC="http://example.com/someform.asp".IFRAME显示用户填写并提交的表单http://example.com/process.asp.当我someform.asp在自己的浏览器窗口中打开表单(" ")时,一切正常.但是,当我someform.asp在IE 6或IE 7中作为IFRAME 加载时,example.com的cookie不会保存.在Firefox中,此问题不会出现.
出于测试目的,我在http://newmoon.wz.cz/test/page.php上创建了类似的设置.
example.com使用基于cookie的会话(我无能为力),所以没有cookie,process.asp就不会执行.如何强制IE保存这些cookie?
嗅探HTTP流量的结果:在GET /someform.asp响应中,有一个有效的每会话Set-Cookie头(例如Set-Cookie: ASPKSJIUIUGF=JKHJUHVGFYTTYFY),但在POST /process.asp请求中,根本没有Cookie头.
Edit3:一些AJAX +服务器端脚本显然能够回避这个问题,但这看起来非常像一个bug,而且还会打开一组全新的安全漏洞.我不希望我的应用程序使用bug +安全漏洞的组合只是因为它很容易.
编辑:P3P政策是根本原因,下面有完整的解释.
我正在阅读有关cookie和其他相关客户端存储选项的内容,并阅读有关使用window.name作为排序的数据缓存:
http://en.wikipedia.org/wiki/HTTP_cookie#window.name
虽然它肯定会让事情变得不那么令人满意 - 而且我不会给它涂上糖衣,但它绝对是最真实意义上的黑客 - 看起来很有希望.我需要存储大约10K的JSON作为客户端缓存,现在我将其与页面一起发送,当我读到它时,它似乎真的符合我的需求并减少流量.
我很想知道是否有人实施了这一点,以及你可能给出的建议.陷阱?建议?浏览器之间的差异?某种用例会非常糟糕吗?
优点
缺点
备择方案
我需要存储一些数据客户端,这些数据太大,无法存储在cookie中.LocalStorage似乎是这样做的完美方式,但事实是,我将使用它的网站有一些部分可以在https和其他只有http和本地存储无法访问您使用http设置的https数据这似乎不再是一个可行的解决方案.
知道是否有任何解决方案吗?还有其他选择吗?