当前位置: 首页 > news >正文

同源策略与跨源策略

1. 同源策略

同源策略是指在Web浏览器中,允许某个网页脚本访问另一个网页的数据,但前提是这两个网页必须有相同的URI、主机名和端口号,一旦两个网站满足上述条件,这两个网站就被认定为具有相同来源。

此策略可防止某个网页上的恶意脚本通过该页面的文档对象模型访问另一网页上的敏感数据。 同源策略对Web应用程序具有特殊意义,因为Web应用程序广泛依赖于HTTP cookie来维持用户会话,所以必须将不相关网站严格分隔,以防止丢失数据泄露。

值得注意的是同源策略仅适用于脚本,这意味着某网站可以通过相应的HTML标签,访问不同来源网站上的图像、CSS和动态加载脚本等资源。而跨站请求伪造就是利用同源策略不适用于HTML标签的缺陷。 ​

2. 如何进行跨域

(1)CORS

CORS的本质:

a. 简单请求

A 通过响应头告诉浏览器,我愿意共享给 B

b. 复杂请求

为了防止 POST/PUT/PATCH 请求对数据造成影响

浏览器会先发 OPTIONS 请求,问 A 接不接受 POST/PUT/PATCH

如果接受,浏览器才会发真正的请求

比如 post 请求的功能是打款给他人

(2)JSONP

a. 取巧

由于 <script> 标签不受同源策略约束,可以请求任意 JS

所以后端把数据直接放在 JS 里了 对回调的使用是 JSONP 的点睛之笔

b. 与 JSON 的关系

毫无关系

(3)反向代理

步骤

假设 a.com:8888 想把 GET /data 共享给 b.com:7777

1. b.com 后端提供一个 /data(Nginx 配置如右)

2. b.com 前端通过 AJAX 访问 b.com/data

3. b.com/data 向 a.com/data 发请求,得到响应之后给 b.com 的前端

相关文章:

  • 赣州做网站什么价格/百度站长提交网址
  • 潍坊营销型网站建设/百度问一问
  • 广西建网站哪家好/东莞推广公司
  • 网站建设及推广枣强/互联网最赚钱的行业
  • wordpress 图片页面/怎么制作网页里面的内容
  • 艺商网站/百度极速版客服人工在线咨询
  • 什么样的故障让阿里云换了总裁?
  • 字节跳动青训营--前端day1
  • NET餐厅管理系统前端js-dwz.dialog初始化半透明层、改变阴隐层
  • Spring入门-IOC/DI注解管理与整合mybatis及Junit(2)
  • 【操作系统】 第一章 操作系统概述
  • Java枚举类与注解
  • 【论文简述】High-Resolution Optical Flow from 1D Attention and Correlation(ICCV 2021)
  • 数据库面试题
  • 代码随想录第四天(203、707)
  • Go语言实现猜数字小游戏
  • 算法第十二期——BFS-判重
  • 机器学习实战4:基于马尔科夫随机场的图像分割(附Python代码)