有很多教程,其中显示了如何禁用csrf,
csrf().disable()
(以及其他可能性,例如.properties
,.yml
等)
但没有人解释他们为什么这样做?
所以我的问题是:
禁用它的现实原因是什么?
它可以提高性能吗?
答案 0 :(得分:4)
禁用它的现实原因是什么?
Spring文档建议:
我们的建议是对普通用户可能由浏览器处理的任何请求使用CSRF保护。 如果您仅创建非浏览器客户端使用的服务,则可能要禁用CSRF保护。
它可以提高性能吗?
它不应该影响性能。过滤器(或其他组件)将从请求处理链中删除,以使该功能不可用。
在Spring Boot应用程序中禁用
var REPLACE = [ {expression: www.anyhref.com, value: 'website'} ]; function(instance) { instance = function { var insteadURL; insteadURL: = REPLACE.match(function(expression) { return element.classList.contains(expression); }); return( insteadURL ? insteadURL.value : getElementText(expression) ); } }
的原因是什么?
答案 1 :(得分:1)
Spring建议在为浏览器客户端服务时使用它,如果没有,则可能会禁用它:
我们的建议是对普通用户可能由浏览器处理的任何请求使用CSRF保护。如果仅创建非浏览器客户端使用的服务,则可能要禁用CSRF保护。
即使您使用服务器浏览器客户端,我也要补充一点,但是它仅在内部使用,您可能希望/能够将其删除。
答案 2 :(得分:-1)
是的,如果您具有无法隐藏的不同身份验证机制,则可以安全地禁用它。对于内部企业应用程序,没有太多的顾虑。 我们不得不禁用它,因为它干扰了我们现有的身份验证机制。