更新:GWT 2.3 引入了一种更好的机制来对抗 XSRF 攻击。请参阅http://code.google.com/webtoolkit/doc/latest/DevGuideSecurityRpcXsrf.html
GWT 的 RPC 机制对每个 HTTP 请求执行以下操作 -
- 设置两个自定义请求标头 - X-GWT-Permutation 和 X-GWT-Module-Base
- 将内容类型设置为 text/x-gwt-rpc;字符集=utf-8
HTTP 请求始终是 POST,并且在服务器端 GET 方法会引发异常(不支持该方法)。
此外,如果这些标头未设置或具有错误的值,服务器将无法处理并出现异常“可能是 CSRF?” 或类似的东西。
问题是:这足以防止 CSRF 吗?有没有办法在纯跨站点请求伪造方法中设置自定义标头和更改内容类型?