【问题标题】:HttpServletRequest attributes are lost when propagating from within iFrame从 iFrame 内传播时,HttpServletRequest 属性会丢失
【发布时间】:2017-10-01 03:51:42
【问题描述】:

我的 webapp 有一个基于 iframe 的测试,我可以看到(通过 iframe 浏览时)如下:

1) 当我在 JSP 上设置 HttpServletRequest 会话属性时,对于 firefox,它会按预期捕获/保留。

request.getSession().getAttribute("myAttr") // returns what I want

2) 我在页面之间移动并使用调试器检查上述内容,我可以确认行为正常。

3) 使用 Chrome 时,连续请求中看不到请求会话属性:

request.getSession().getAttribute("myAttr") // Returns NULL

我已经通过输入过滤器(在我的web.xml 中定义)跟踪了这一点,并且一旦发出新请求,所有会话属性实际上都会丢失。这仅适用于 Chrome 和 IE,而不适用于 firefox 和 Opera。

在我看来,对于 Chrome/IE,每个请求都是通过清理所有会话属性来准备和发送的。但对我来说,这似乎是浏览器特有的问题。另外,我相信对此有一个简单的解释,但不记得这是什么。

顺便说一句 - 如果不是在 iFrames 中完成,所有浏览器都可以正常工作。

有人可以请我朝正确的方向前进吗?

【问题讨论】:

    标签: jsp tomcat servlets iframe web-applications


    【解决方案1】:

    有趣的是,这是由于我的 iframe 网站阻止了 cookie。因此,只要我将该网站列入白名单,它就可以正常工作!

    这是预期的行为吗?由于Firefox和Edge没有问题吗?我的意思是,我不必为 Firefox 和 Edge 做同样的事情,它们可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2021-07-18
      • 2020-08-03
      • 2011-11-22
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      相关资源
      最近更新 更多