我在网页上有一个带有验证码的表单,这个验证码正在使用(就像我认为的所有验证码一样)SESSION 变量来存储值。此表单适用于 IE7-8 和 9,也适用于 FF、Chrome、Safari 等,但使用IE10我有问题。如果在IE10的网页上直接调用该表单,验证码效果很好,但如果从其他网站的IFRAME调用该表单,则不会存储SESSION变量。在这种情况下无法使用 SESSION 变量。
任何想法 ?
我在网页上有一个带有验证码的表单,这个验证码正在使用(就像我认为的所有验证码一样)SESSION 变量来存储值。此表单适用于 IE7-8 和 9,也适用于 FF、Chrome、Safari 等,但使用IE10我有问题。如果在IE10的网页上直接调用该表单,验证码效果很好,但如果从其他网站的IFRAME调用该表单,则不会存储SESSION变量。在这种情况下无法使用 SESSION 变量。
任何想法 ?
iframe 受制于其内容的原始站点。由于您是从其他站点加载验证码/表单,因此该框架中设置的任何 cookie 都被锁定到该其他站点。
例如,您的网站是 example.com。iframe 来自 foobar.net。在 iframe 中设置的任何 cookie 都仅限于 foobar.net,并且不会对 example.com 可用。
首先,您混淆了会话和 cookie。会话存储在服务器上,cookie 存储在客户端。如果你有一个会话,你会希望有一个 cookie 来识别你的会话。所以你真的在谈论饼干。
不允许您从其他域获取 cookie。它违反了同源策略。
如果您控制两个域,则可以设置资源共享(CORS Cross-Origin-Resource-Sharing),但这并不容易。
这是 IE10 中的一个已知错误。请参阅错误报告。