使用 AJAX,CSRF 和 CORS (Working with AJAX, CSRF & CORS)
“仔细查看您自己网站上可能存在的 CSRF / XSRF 漏洞。它们是最糟糕的一种漏洞——很容易被攻击者利用,但对软件开发人员来说却不那么直观易懂,至少在您被攻击之前是这样。” —— Jeff Atwood
Javascript 客户端 (Javascript clients)
如果您正在构建 JavaScript 客户端来与 Web API 进行交互,那么您需要考虑客户端是否可以使用与网站其他部分相同的身份验证策略,并确定是否需要使用 CSRF 令牌或 CORS 标头。
在与它们交互的 API 相同的上下文中发出的 AJAX 请求通常使用 SessionAuthentication
。这确保了一旦用户登录,就可以使用与网站其余部分相同的基于会话的身份验证来对发出的任何 AJAX 请求进行身份验证。
在与其通信的 API 不同的站点上进行的 AJAX 请求通常需要使用非基于会话的身份验证方案,例如 TokenAuthentication
。
CSRF 防护 (CSRF protection)
跨站点请求伪造防护是