【发布时间】:2021-04-24 01:54:31
【问题描述】:
使用 spring-security-web 3.2.x(旧客户端代码),有没有办法不将 csrf 令牌参数注入使用 GET 方法的表单中?
这使得提交表单时令牌出现在 URL 中并且可能被泄露。
配置是:
<http>
<csrf>
JSP 是:
<form:form method="GET" ...
生成的 HTML:
<input type="hidden" name="_csrf" value="********-****-****-****-******" />
</form>
注意使用:
<csrf request-matcher-ref="csrfMatcher"/>
没有帮助,因为这只控制在提交表单时是否检查 csrf 令牌,而不是控制是否将 csrf 隐藏字段注入到表单中。 (默认情况下不检查 GET 请求)。
【问题讨论】: