为什么api接口不需要csrf防护

更新时间:2023-09-03 23:20

  CSRF(跨站请求伪造)主要是针对网站中的会话进行攻击的。CSRF攻击者利用受害者的认证身份在受害者不知情的情况下以受害者的名义向服务器发送恶意请求。

  CSRF防护通常来说是面向浏览器的基于cookie的会话管理的。CSRF利用的是浏览器的自动发送Cookie的功能。当你打开有恶意请求链接的网站时,如果此时你的浏览器中还留有目标站点的登录凭证(Cookie),那么这个请求就会带着这个凭证,服务器就以为是你自己发起的正常操作。

  然而,API接口常常用于服务器到服务器的交互,或者由Ajax,移动应用等其他非浏览器客户端发起的请求,并且API接口通常使用API tokens或者OAuth来进行身份验证,而不是基于Cookie的会话,因此即使攻击者可以强行发起请求,也不会带上有效的身份验证。

  所以,通常来说,面向API的服务端不需要做CSRF防护。