按照我的理解,如果客户端脚本在foo的页面上运行.com希望从bar请求数据.在请求中,它必须指定头Origin: http://foo.com,而bar必须以Access-Control-Allow-Origin: http://foo.com响应.

有什么可以阻止来自网站roh.com的恶意代码简单地欺骗报头Origin: http://foo.com以请求来自bar的页面?

推荐答案

浏览器可以控制设置Origin标头,用户不能覆盖此值.这样您就不会看到Origin头在浏览器中被欺骗了.恶意用户可以手工创建手动设置Origin头的CURL请求,但此请求将来自浏览器外部,并且可能没有特定于浏览器的信息(如Cookie).

记住:CORS不是安全.不要依赖CORS来保护你的网站.如果您提供的是受保护的数据,请使用cookie或OAuth令牌或Origin头以外的其他东西来保护该数据.CORS中的Access-Control-Allow-Origin报头仅规定应允许哪些来源进行跨来源请求.不要再依赖它了.

Javascript相关问答推荐

在类型脚本中使用浏览器特定属性的正确方法是什么?

强制执行useStatego struct 化变量[foo,setFoo]的命名约定?

无法将nPM simplex-noise包导入在JS项目中工作

具有相同参数的JS类

是什么原因导致此Angular 16应用程序中类型错误时属性结果不存在?

窗口.getComputedStyle()在MutationObserver中不起作用

setcallback是什么时候放到macrotask队列上的?

如何在 cypress 中使用静态嵌套循环

提交链接到AJAX数据结果的表单

使用VUE和SCSS的数字滚动动画(&;内容生成)

为什么客户端没有收到来自服务器的响应消息?

如何限制显示在分页中的可见页面的数量

使用类型:assets资源 /资源&时,webpack的配置对象&无效

AddEventListner,按键事件不工作

当我点击一个按钮后按回车键时,如何阻止它再次被点击

我正在试着做一个TicTacToe Ai来和我玩.但是,我试着在第一个方块被点击时出现一个X,然后在第二个方块之后出现一个O

使用Reaction窗体挂钩注册日历组件

React Refs不与高阶组件(HOC)中的动态生成组件一起工作

react 路由如何使用从加载器返回的数据

P5.js中矩形内的圆弧