【发布时间】:2015-04-27 14:34:37
【问题描述】:
我正在做一个使用大量 Ajax 请求和自定义表单的网站(听到:自定义 jQuery 伪造的带有字段的 POST 请求,或简单的 GET 请求)。 我知道 Ajax 和 Symfony 表单并非不兼容(因为服务器看不出任何区别),但这不是问题。
我非常担心 CSRF 攻击,因为我的 POST 请求没有使用 Symfony 的官方方式来构建和检查表单,所以我没有自动 CSRF 保护。
我有两个问题:
我可以认为我的 POST 请求是安全的吗?大多数 CSRF 攻击是通过指向敏感端点的
img标签完成的。无法通过图像伪造 POST 请求。做到这一点的唯一方法是 JavaScript 注入吗?如果我使用 Twig(安全的用户内容,包括,感谢 HTML 转义),我的页面中间可能不会有用户注入的 JS。那么,我脱离危险了吗?无论如何,我也很少有 GET 明智的端点。我必须保护他们。保护相关操作的最简单方法是什么?使用
form.csrf_provider服务生成的令牌附加链接(GET 参数),然后在每个相关操作的入口处进行验证?
【问题讨论】:
-
为什么要投反对票?也许我的问题很愚蠢,但它并没有回答我的问题。