2011-09-26 57 views
2

搜索CSRF预防技术的最广泛发现的解决方案是什么MVCAntiForgeryToken(随MVC 3)实现,其中服务器的客户端必须在POST主体中发布验证令牌。在服务器端,它将根据Cookie中存在的令牌进行验证。CSRF安全风险,如果验证令牌在标题而不是POST正文

在自定义标题中发送验证令牌和在服务器端验证cookie中存在的自定义令牌的值是否同样安全?

+2

对,我想不出任何理由。 –

回答

1

它甚至更安全:)因为即使攻击者可以获得当前事务的有效csrf标记,他也必须建立一个跨域ajax请求以在请求中包含自定义标头。如果用户在他的浏览器中禁用了js,那么攻击者会烤制:)。然而,它可以被java小程序覆盖...但是你知道用户是否没有受过教育,攻击者是否真的有动力,你可以做的很少;)。

但有一个问题,并不是所有的自定义标题将被转发的情况下,用户通过防火墙或企业代理访问我们。所以我认为这是使用字段而不是自定义标题的主要原因。虽然有一个头可以防止XSRF攻击:原产地The web origin concept也作为附加信息Content Security Policy 1.1它只是一个草案,但一些有趣的想法在那里提出。