为什么token能够防止CSRF(修正版)
孤鹤~:
如果用户已经登录了 b 网站,并且浏览器中已经保存了 b 网站的 Cookie,而后在 a 网站中点击指向 b 网站的链接,通常情况下,浏览器会自动携带 b 网站的 Cookie 到 b 网站的请求中。
这是因为同源策略(Same-Origin Policy)在这种情况下通常不适用于 Cookie。同源策略主要限制了在不同域名下的页面之间通过脚本访问彼此的数据。但是,当用户点击链接导航到一个新的域名(例如,从 a 网站导航到 b 网站),浏览器会在请求中包括该域名下的 Cookie,以确保用户在访问 b 网站时仍然处于已登录状态。
这种行为使得单点登录(Single Sign-On,SSO)等跨域身份验证系统能够正常工作,因为用户可以在不同域名的应用程序之间共享身份验证状态。
-----------------------------------------------------------------------------
一般情况下,用户的浏览器不会自动携带 b 网站的令牌(token)到 a 网站的链接。这是由于浏览器的同源策略(Same-Origin Policy)限制。同源策略要求浏览器在跨域请求时不会自动发送敏感的身份验证信息(如令牌或 Cookie)。如果用户已经登录了 b 网站并保存了令牌,而后在 a 网站中点击了指向 b 网站的链接,通常情况下,浏览器不会自动发送 b 网站的令牌到 a 网站。
|