【发布时间】:2012-03-29 01:58:03
【问题描述】:
在一个 web 应用程序中,我使用了几个过滤器,在其中一个过滤器中,我使用了 BalusC 描述为“会话滥用”的东西。基本上在过滤器中我会这样做:
request.getSession().setAttribute("abuse", ...);
稍后,在一个 Servlet 中,我读回了这个属性。
我正在使用会话属性而不是请求属性,因为我正在执行重定向,这就是我迷路的地方......
在浏览器收到 302 并进行重定向后,Tomcat(或任何其他 Java webapp 服务器)如何知道后续的 GET(重定向后的那个)与内部返回的会话属于同一个“会话”第一个过滤器(重定向之前的那个)?
如果我禁用了 JSESSIONID,即使客户端的浏览器同时关闭了 JavaScript 和 Cookie并且,此操作是否有效?
我应该指出,出于 SEO 和用户友好的目的,已禁用 JSESSIONID:就像 stackoverflow.com 永远不会显示带有毫无意义的技术问题的超长 URL,我的 web 应用程序也不会而 JavaScript 和 Cookies 可以被用户关闭。所以我想知道即使这三个“客户端功能”不可用,我正在做的“会话滥用”是否会起作用。
【问题讨论】:
标签: java session web-applications attributes filter