Isr*_*eca 1 security ajax google-chrome cors web
我以为SOP在发送之前阻止了对其他域的所有请求符合他们的规则,但我在我的机器中做了一个简单的例子,这不是我所期望的:
1-我有一个本地服务器监听端口8000,它将打印发送到/apiURL 的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 present on the requested resource但是在服务器控制台中仍然收到了数据.我认为SOP的存在是为了解决这类问题.它的工作方式,它只能保证你无法得到回复.是这样吗?几乎所有的网络文件都没有这么说.
我错过了什么?或者我的例子不知何故错了?
正如你所说的那样,许多人对同一起源政策的防范以及CORS如何运作产生了很大的误解.
确实发出了请求,服务器处理它并创建响应.只有浏览器才能阻止客户端访问结果.这可能很容易让位于像CSRF这样的攻击.
预检请求也有一个角色,但该点不会改变,同一原始策略不会停止请求,它会阻止响应到达浏览器中的调用者.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |