什么是同源策略及解决跨域的三种方式
同源策略
1.1.1 所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源。同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,现在所有支持 JavaScript 的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容易受到 XSS、 CSFR 等攻击。
{1} 比如一个web应用,用户访问的页面,处理页面的请求的controller都是在同一个contextPath下的,无论在页面上请求AController还是BController,页面、A、B都是同源的,所处的空间位于同一个contextPath下。
{2} 同源策略是为了安全,确保一个应用中的资源只能被本应用的资源访问。否则,岂不是谁都能访问。
1.1.2 什么是源?
{1} 源(origin)就是协议、域名和端口号。
[1] 若地址里面的协议、域名和端口号均相同则属于同源。
{2} 以下是相对于 http://www.a.com/test/index.html 的同源检测
[1] http://www.a.com/dir/page.html ----成功,port默认是80
[2] http://www.child.a.com/test/index.html ----失败,域名不同
[3] https://www.a.com/test/index.html ----失败,协议不同
[4] http://www.a.com:8080/test/index.html ----失败,端口号不同
[5] http://www.domain.com/a.js http://192.168.4.12/b.js 虽然域名指向的ip和ip相同,也不是同源,因为域名不同。
解决跨域的三种方式
方法1
后台开放限制,优点:方便;缺点:不安全
方法2
JSONP利用script标签的src的属性不受同源策略限制(需要后台配合)
方法3
配置代理
二.Vue的自动跳转运行及代理方法?
devServer :{
// 自动打开
open:true,
// 热更新
hot:true,
// port:8089
二.代理方法
proxy:{
//代理名称
'/course-api':{
// 代理地址
target:" "
// 路径重写(代理重写)
pathRewrite:{
'/course-api':' '
}
}
}
什么是同源策略及解决跨域的三种方式相关推荐
- 什么是同源策略?解决跨域的三种方法?
1.同源策略 同源策略是一种约定和规范好的安全策略,是浏览器最核心最基本的安全保障.同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据. 满足的条件: (1)协议要相同:HTTP.HTT ...
- 前端实现跨域的三种方式
前端解决跨域的三种方式: 1.cors跨域(只需要后端配置) header("Access-Control-Allow-Origin:*"); // 允许任何来源 header(& ...
- SpringBoot解决跨域的5种方式
本文来说下SpringBoot中实现跨域的5种方式. 文章目录 什么是跨域 java解决CORS跨域请求的方式 返回新的CorsFilter(全局跨域) 重写WebMvcConfigurer(全局跨域 ...
- $.ajax 加了headers报错_Springboot解决Ajax跨域的三种方式
这篇文章不华丽,但比较实用,能解决不少大家实际业务中的问题.大家可以收藏起来,以备用时之需! 1.同源策略 1.1 含义 ajax出现请求跨域错误问题,主要原因就是因为浏览器的"同源策略&q ...
- springboot项目解决跨域的几种方式
跨域资源共享(CORS):通过修改Http协议header的方式,实现跨域.说的简单点就是,通过设置HTTP的响应头信息,告知浏览器哪些情况在不符合同源策略的条件下也可以跨域访问,浏览器通过解析Htt ...
- 浏览器同源策略,及跨域解决方案
原文链接:浏览器同源策略,及跨域解决方案 一.Origin(源) 源由下面三个部分组成: 域名 端口 协议 两个 URL ,只有这三个都相同的情况下,才可以称为同源. 下来就以 "www.e ...
- 前端交互之“解决前端跨域的三种方法”
1.什么是前端跨域? 跨域是浏览器为了安全而做出的限制策略:浏览器请求必须遵从同源测试: http://www.bilibili.com:8080:/anime/?key=calue路径 键值对 同协 ...
- vue开发环境和生产环境里面解决跨域的几种方法
vue开发环境和生产环境里面解决跨域的几种方法 参考文章: (1)vue开发环境和生产环境里面解决跨域的几种方法 (2)https://www.cnblogs.com/pass245939319/p/ ...
- Springboot 解决跨域的四种姿势
Springboot 解决跨域的四种姿势 姿势一 实现WebMvcConfigurer#addCorsMappings的方法 import org.springframework.context.an ...
最新文章
- java ajax jquery分页插件_JQueryPagination分页插件,ajax从struts请求数据
- 打开WORD2016提示 您正在试图打开带有宏的 。。。。 解决办法
- mac升级之后safari打不开网页,怎么办?
- java int与integer的区别
- springboot整合shiro+mybatis-plus
- rlwrap插件,实现sqlplus上下翻页
- Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件【系列2】
- 03-03 APP 控件定位
- MFC的非模态对话框资源管理
- html文字阴影兼容ie,IE之css3效果兼容
- PHP 8 中确认支持 JIT!
- 拆解一探电路设计:小米路由器3C拆解
- 网红漏洞“致远OA系统上的GetShell漏洞”详解
- E3来了,今年有哪些令人期待的游戏新作?
- deb软件包管理(二)
- 使用python批量下载ensembl数据库指定类型的文件
- 每日必读DZone Spring:Spring @Transactional 是如何真正工作的?
- 通过浏览器无法访问Hadoop管理页面
- prach频域位置_[转载]zz LTE PRACH时频资源及选择
- 【Java并发编程(一)】并发设计原理
热门文章
- session+application实现聊天室
- python 正则化表达式和泛型函数的使用及异常
- matlab 两列排序,在Matlab中对列进行排序
- Python xlrd将excel表的指定数据copy到另一个excel表格中
- php 公众号token认证,微信公众号开发——Token认证
- 我的世界服务器修改名称颜色,我的世界怎么给别人改名字颜色 | 手游网游页游攻略大全...
- 如何用AI画出可爱的漫画少女插图?
- Panda 常见的坑
- 联发科变山寨王幕后人物:徐至强让联想手机成大陆第一
- 走进几米童话世界,《我的全世界只有你》推出VR版本