gpt4 book ai didi

ajax - 同源策略是否仍然允许执行服务器端代码?

转载 作者:行者123 更新时间:2023-12-05 08:33:30 25 4
gpt4 key购买 nike

我认为 SOP 在发送之前阻止了对其他域的所有请求符合他们的规则,但我在我的机器上做了一个简单的例子,它并不完全符合我的预期:

1- 我有一个监听端口 8000 的本地服务器,它将打印发送到 /api URL 的 POST 数据。

2- 我有另一个本地服务器使用以下脚本提供页面:fetch('http://localhost:8000/api', {method: 'post', body: 'Sending data.' });。我更改了主机名以在浏览器中使用 foo.com 访问此页面。

当我访问 foo.com 时,我的跨域请求被执行,我可以在 Chrome 开发工具中看到 CORS 错误: No 'Access-Control-Allow-Origin' header is出现在请求的资源上,但在服务器控制台中仍收到数据。我认为 SOP 的存在正是为了解决这类问题。它的工作方式,它只保证你无法得到响应。是这样吗?几乎所有网络文档都没有这么说。

我错过了什么?还是我的例子有问题?

最佳答案

正如您所说,许多人对同源策略所防止的内容以及 CORS 的工作原理存在很大误解。

确实发出了请求,服务器处理它并创建响应。只有浏览器会阻止客户端访问结果。这可能很容易让位给像 CSRF 这样的攻击。<​​/p>

预检请求也有作用,但重点没有改变,同源策略不会阻止请求,它会阻止响应到达浏览器中的调用者。 p>

关于ajax - 同源策略是否仍然允许执行服务器端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com