关于 XMLHttpRequest 上的同源限制
About same-origin limitation on XMLHttpRequest
本文关键字:XMLHttpRequest 关于 更新时间:2023-09-26
我认为我对XMLHttpRequest
的同源限制有些不了解。
与其禁止 Javascript 代码向不同的主机发送 http 请求(这对于合法用途来说真的很烦人),不如只允许请求但不发送或接受 cookie 在这种情况下
?禁止一个特定的脚本来获得互联网上其他人都可以得到的东西,在我看来乍一看似乎是一个非常奇怪的选择......
我错过了什么?
与其禁止 Javascript 代码向不同的主机发送 http 请求(这对于合法用途来说真的很烦人),不如只允许请求但不发送或接受 cookie 在这种情况下
?
这就是跨源资源共享 (CORS) 指定的。
在使用<小时 />用户凭据发出跨源请求时,应用程序必须始终小心,处理此类请求的服务器在使用凭据(包括 Origin 标头)时必须小心。
- 当请求具有检索以外的意义时,并且当依赖 Origin 标头作为凭据时,服务器必须小心区分授权请求和授权访问响应中该资源的表示形式。
。
省略凭据标志
设置何时在请求中排除用户凭据以及何时在其响应中忽略 cookie。
禁止一个特定的脚本来获得互联网上其他人都可以得到的东西,在我看来乍一看似乎是一个非常奇怪的选择......
我错过了什么?
Web标准机构花了一段时间才意识到人们想要编写严肃的JavaScript繁重的应用程序。 Gmail改变了这一切,但像W3C这样的标准机构需要一段时间来填补功能漏洞。
您的建议最初将避免用户数据被利用,但这仍然意味着代码可以从任何其他潜在的恶意域运行,然后该域可以读取和传输该cookie数据,而无需在请求中隐式发送。我想现在的情况是安全性和灵活性之间的最佳折衷方案。
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作