|
|
1
3
Origin与您的浏览器、笔记本电脑、路由器、ISP等无关。Origin与发出请求的域有关。所以如果一个脚本
所有这些都是为了防止恶意脚本(用户不知道)代表他们向Google发出请求。考虑一下银行的情况。您不希望任何其他网站的脚本能够向银行发出请求(从 你的 浏览器打开 你的 代表)。银行可以通过禁用跨域请求来防止这种情况。 和to(1):当您在google上打开控制台时。com页面,您提出的任何请求都来自谷歌。com,这就是为什么您能够发出这些请求。这与我刚才提到的情况不同,因为用户必须有意识地复制一些恶意javascript,访问他们银行的网站,打开控制台,粘贴并运行它(许多用户都会对此产生怀疑)。 |
|
|
2
3
网站通常不是无状态的,它们通常在您的计算机上存储信息,例如识别您登录的帐户的会话cookie。如果您的浏览器没有阻止未明确允许的跨源请求,您可以登录gMail,然后访问randomguysblog。org和randomguysblog上的脚本。org可以使用您的浏览器向gMail发出POST请求。既然你已经登录,他可以代表你发送电子邮件。也许你也登录了你的银行,randomguy决定将你所有的钱转到他的账户,或者只是四处看看你有多少钱。 要单独回答您的问题:
受保护的不是谷歌,而是你网站的用户也登录了谷歌。请求是相同的,但假设服务器支持飞行前请求,用户浏览器甚至不会发送请求。如果服务器不支持飞行前请求,则会发送请求,但不允许启动请求的脚本查看响应。还有其他不使用Ajax的发送请求而不查看响应的方法,例如通过提交隐藏表单,这就是为什么还需要CSRF令牌。CSRF令牌使一个操作需要两个请求,而第一个请求的响应中需要一个令牌才能发出第二个请求。
在场景2中,用户自己发出两个请求,因此他们必须同时发出这两个请求。在场景1中,用户仅尝试访问您的网站,而您的网站正在使用其浏览器向Google发出请求,而他们可能不希望您的网站这样做。
其目的是保护浏览器用户免受恶意脚本的攻击。在场景1中,恶意脚本无法访问来自Google的响应。用户可以,但这并不是为了保护用户免受攻击。
谷歌可以查看推荐人的标题,但他们实际上不需要知道请求来自哪里。谷歌只需告诉浏览器允许请求来自何处,用户的浏览器就可以决定是否将请求发送给谷歌。 |
|
|
vatsal chauhan · 即使在字体预加载时,文本加载也很慢 1 年前 |
|
|
Loopy Momy · 当我尝试制作动画时,CSS可见性和块不起作用 2 年前 |
|
dds · Bootstrap下拉菜单导航栏 2 年前 |
|
|
IITU Yernur · Angular 18中不显示图像 2 年前 |
|
|
ahmed ahmedx · 如何正确居中放置卡片 2 年前 |