我正在建立一个使用大量Ajax请求和自定义表单的网站(听到:带字段的自定义jQuery伪造的POST请求,或简单的GET请求)。 我知道Ajax和Symfony形式并不兼容(因为服务器没有看到任何区别),但这不是问题。
我非常担心CSRF攻击,因为我的POST请求没有使用Symfony的官方方式来构建和检查表单,因此我没有自动CSRF保护。
我有两个问题:
我可以认为我的POST请求是安全的吗?大多数CSRF攻击都是通过指向敏感端点的img
标记完成的。无法通过图像伪造POST请求。这样做的唯一方法是JavaScript注入吗?如果我使用Twig(安全的用户内容,包括,由于HTML转义),我可能不会在我的页面中间使用用户注入的JS。那么,我是否已脱离危险?
无论如何,我也很少有GET明智的终点。我必须保护他们。保护相关操作的最简单方法是什么?使用form.csrf_provider
服务生成的令牌附加链接(GET参数),然后在每个相关操作的条目中进行验证?
答案 0 :(得分:1)
您需要搜索CSRF并阅读更多相关信息。
这种类型的攻击不仅可以用在<img>
标签中(实际上我之前没想到它可以与<img>
一起使用)。
攻击者可以创建一个表单,将请求后发送到您的服务器,用户将不知道(如果他不会看到该页面的来源)。