首页 > 其他分享 >同源政策:增强Web安全但引发跨域请求的根源

同源政策:增强Web安全但引发跨域请求的根源

时间:2024-08-26 12:23:06浏览次数:6  
标签:Web www 跨域 js 域名 同源 com

同源政策保证了浏览器的安全性的同时,也导致了跨域的产生

同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
同源:协议、域名、接口同时相同

同源政策的作用:

限制了当前域下的js脚本访问其他域下的cookie、‌localStorage和indexDB‌。‌

‌当前域下的js脚本无法操作或访问其他域下的DOM‌。‌

‌当前域下的Ajax请求无法发送到其他域‌。‌

同源政策保证了浏览器的安全性的同时,也导致了跨域的产生

js跨域是指通过js在不同的域之间进行数据传输或通信。只要协议、域名、端口有任何一个不同,都被当作是不同的域
跨域是因为后台接口文件和web前端文件不在同一个域名下,浏览器拦截了后台发送的数据

跨域的案例:

端口的不同,如:www.a.com:8080和www.a.com:8088

协议不同,如:http://www.a.com和https://www.a.com

基于不同的父域之间,如:www.a.com和www.b.com

基于同一父域的子域之间,如:a.c.com和b.c.com

跨域的解决方法

后台解决方法:
header(‘Access-Control-Allow-Origin:*‘); // header可以允许特定的域名访问请求

jsonp也支持跨域,如何获取返回的数据:
web页面调用js文件则不受跨域的影响
凡是拥有“src”这个属性的标签都拥有跨域的能力,比如script、img、iframe

框架中的解决方法:
vue-cli中axios有跨域代理设置(即使服务器没有设置header,也可以跨域)
devServer: {
    //proxy: ‘http://localhost:80‘
    proxy: ‘http://www.wenxuesucai.com:80‘
},

免费的API接口开放平台

标签:Web,www,跨域,js,域名,同源,com
From: https://blog.csdn.net/2401_86933827/article/details/141560971

相关文章

  • 【免费】springboot共享汽车管理系统|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:springboot118springboot共享汽车管理系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1管理员模块的实现5.1.1用户信息管理共享......
  • 【免费】springboot汽车资讯网站|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:springboot125springboot汽车资讯网站开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1管理员模块的实现5.1.1用户信息管理汽车资讯......
  • fastapi 跨域请求
    问题描述在前后端开发中遇到一个问题,前端发送请求后,后端报'OPTIONS/mock/user/loginHTTP/1.1'405MethodNotAllowed,如下图:但用fastapi自带的swagger或postman测试又是可以的。 定位原因这是因为在跨域的情况下,在浏览器发起"复杂请求"时主动发起的。跨域共享标准规范......
  • Access-Control-Allow- 设置 跨域资源共享 CORS 详解
    跨域访问的项目常在过滤器或者拦截器中添加如下配置   response.setHeader("Access-Control-Allow-Origin","*");response.setHeader("Access-Control-Allow-Methods","POST,OPTIONS,GET");response.setHeader("Access-Control-Max-Age&qu......
  • Web API 学习笔记 第四弹
    1.时间戳获取时间戳的方法①date.getTime()②+newDate()2.定时器console.log(111)setTimeout(()=>{console.log(222)},1000)console.log(333)console.log(111)setTimeout(()=>{console.log(222)},0)console.log(333)这两段代码打印结果分......
  • Authentication scenarios and recommendations MSAL vs Microsoft.Identity.Web
    AuthenticationscenariosandrecommendationsIfyouhaveawebapporanAPIrunninginAzureAppService,youcanrestrictaccesstoitbasedontheidentityoftheusersorapplicationsthatrequestit.AppServiceoffersseveralauthenticationsolution......
  • 基于javaweb+jsp的鲜花商城系统
    基于javaweb+jsp的鲜花商城系统的设计与实现~开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+JSP工具:IDEA/Ecilpse、Navicat、Maven系统展示前台后台摘要  当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈......
  • 从0到1:React项目中的Webpack配置实战
    公司项目一般都是使用集团封装好的脚手架,脚手架内部实现咱看不到也摸不着,好不容易组内推行新的UI框架,需要自行定义webpack配置,这可是个绝佳的好机会,我对配置过程进行了梳理,把商业项目的成熟配置小跑着送上。初始化首先新建一个空文件夹,执行npminit初始化生成package.json......
  • 【计算机网络】WebSocket协议
    目录一、WebSocket协议概述二、WebSocket协议基本特点三、WebSocket协议代码实现3.1 WebSocket协议python实现3.2 WebSocket协议JAVA实现3.3 WebSocket协议C++实现四、WebSocket协议发展趋势一、WebSocket协议概述        WebSocket协议是一种在单个TCP......
  • html模板之动漫主题《熊出没》 web期末大作业
    一、......