【发布时间】:2018-04-19 22:43:47
【问题描述】:
我正在尝试为我的 Web 应用程序实现 Tomcats CSRF 保护过滤器,其中用户存储在 MySQL 数据库中,并且由于我的控制器被写入转发所有请求,我已将过滤器映射编辑到
<filter-mapping>
<filter-name>
CSRFPreventionFilter
</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
但是,根据 OWASP 的建议,我还会在用户登录时使用户会话无效,然后创建一个新会话。
这会导致过滤器启动,我得到 403。
我环顾四周,但找不到让过滤器与此策略配合使用的方法。
那么我应该放弃过滤器还是使会话无效?
【问题讨论】:
-
看起来您遇到了编程问题,而不是安全问题。两者都很重要,没有技术上的理由可以让一个与另一个发生冲突。
-
可能是 Tomcat CSRF 过滤器问题/限制? tomcat CSRF 保护过滤器将 nonce 存储在会话中。当用户登录时我没有使会话无效时,它可以正常工作,
标签: csrf session-fixation