使用springsecurityweb3.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请求)。
1条答案
按热度按时间hzbexzde1#
csrfrequestdatavalueprocessor.java中的代码应该省略get forms的csrf令牌:
但根据代码检查和调试,它从未被调用。可能是虫子。
这是spring-security-web-3.2.7和spring-webmvc-3.2.13