尽管有许多公认的预防技术,但是每种技术都有其优缺点。 在最流行和推荐的技术中,有一种实现CSRF令牌的技术。 CSRF令牌技术要求所有状态更改端点都接受一个附加参数(即CSRF令牌),其值与Web应用程序的html / css / js一起发送。 根据每个请求,Web应用程序的后端服务器会验证此令牌的正确性,如果请求与会话不对应,则拒绝该请求。 一个不错的类比是,虽然会话cookie对请求的浏览器进行身份验证,但CSRF令牌对进行请求的代码进行身份验证。 虽然有效,但CSRF令牌模式的不利之处在于,它要求开发人员进行严格的工作并需要更改客户端代码。
Beyond CSRF Tokens, there are many other techniques that aim to thwart CSRF attacks [2]. Each technique depends on certain assumptions of the web application security model, especially the Same Origin Policy (SOP) which is implemented by all modern browsers today.