我需要启用 CSRF 保护吗?

Do I need to enable CSRF protection?

如果我的 API 服务器中的 POST 个端点中的 none 使用了 application/x-www-form-urlencodedmultipart/form-data,我是否需要担心 CSRF?据我了解,CSRF 只能通过表单支持的 POST 请求来执行。任何其他类型的请求都需要使用 XMLHttpRequest,由于同源策略,它不会通过。

当然,您可以 send JSON from forms 在现代浏览器中。因此,适用于 application/x-www-form-encoded 的所有内容同样适用于其他表单数据编码类型。

此外 - 不能保证将来不会添加对更多类型的支持,所以总是这样。