浏览器跨域的配置

news2024/11/23 18:50:17

目录

1、前言

2、同源策略

3、跨源数据存储访问

4、浏览器跨域设置

4.1 版本号(49.x.x.x.x)之前的跨域设置

4.2 版本号(49.x.x.x.x)之后的跨域设置

5、批处理跨域设置

5.1 windows 操作系统。

5.2 Mac 操作系统


1、前言

在我们进行前端开发的时候,我们请求的后端的接口可能是在不同的域名之下,就会产生跨域的问题,跨域是浏览器本身从安全策略(同源策略)考虑的,默认会限制跨域的请求,因为使用不当,可能会导致一些安全问题,包括用户隐私数据的泄露,而在实际开发中,我们可能需要有跨域的需求,那么从前端的角度怎么去解决呢?

2、同源策略

同源策略是一个重要的安全策略,它用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互。

它能帮助阻隔恶意文档,减少可能被攻击的媒介。例如,它可以防止互联网上的恶意网站在浏览器中运行 JS 脚本,从第三方网络邮件服务(用户已登录)或公司内网(因没有公共 IP 地址而受到保护,不会被攻击者直接访问)读取数据,并将这些数据转发给攻击者。

同源的定义:

如果两个 URL 的协议、端口(如果有指定的话)和域名都相同的话,则这两个 URL 是同源的。

  • 协议相同
  • 端口相同
  • 域名相同

下面给出了与以下URL的源进行对比的示例:百度安全验证https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9477925471385309700%22%7D&n_type=-1&p_from=-1

URL是否同源原因
https://www.baidu.com域名不同
https://mbd.baaidu.com/other/aaa三者相同,只是路径不同
http://www.baidu.com协议不同
https://mbd.baaidu.com:8081/other/aaa端口不一样

3、跨源数据存储访问

访问存储在浏览器中的数据,如 Web Storage和  IndexDB ,是以源进行分割的。每个源都拥有自己单独的存储空间,一个源中的 JavaScript 脚本不能对属于其他源的数据进行读写操作。

Cookie 使用不同的源定义方式。一个页面可以为本域和其父域设置 cookie,只要是父域不是公共后缀(public suffix)即可。Firefox 和 Chrome 使用 Public Suffix List 检测一个域是否是公共后缀。当你设置 cookie 时,你可以使用 DomainPathSecure 和 HttpOnly 标记来限定可访问性。当你读取 cookie 时,你无法知道它是在哪里被设置的。即使只使用安全的 https 连接,你所看到的任何 cookie 都有可能是使用不安全的连接进行设置的。

4、浏览器跨域设置

这里讲解的默认浏览器为chome 浏览器。

4.1 版本号(49.x.x.x.x)之前的跨域设置

操作步骤如下:

1、在桌面找到chrome 浏览器图标,右键,属性标签页中。

2、在目标输入框中加上 --disable-web-security即可。

然后双击打开测试下,如下图所示,则为添加成功。

​ 

4.2 版本号(49.x.x.x.x)之后的跨域设置

对于49之后的版本,需要指定在跨域的时候,对应用户的数据需要进行指定。主要是为了在跨域的时候用户隐私数据的安全,所以进行指定。 

操作步骤如下:

1、新建一个目录,例如:C:\chrome_data

2、在桌面找到chrome 浏览器图标,右键,属性标签页中。

3、在目标输入框中加上 --disable-web-security --user-data-dir=C:\chrome_data即可。

然后双击打开测试下,如下图所示,则为添加成功。

5、批处理跨域设置

如果我们不想每次打开浏览器都是跨域打开,而只是在开发项目中使用,我们可以写一个批处理,双击运行就会打开一个已设置跨域的浏览器。而这样我们就不需要改变浏览器属性标签页中的参数,写在批处理中即可。

5.1 windows 操作系统。

假设chrome 的安装路径为 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

新建一个文件名为 chrome_cross.bat,文件内容如下所示:

Start /d "C:\Program Files (x86)\Google\Chrome\Application\" chrome.exe --disable-web-security --user-data-dir=C:\chrome_data

测试:双击点击“chrome_cross.bat”文件,如下所示,即为成功:

5.2 Mac 操作系统

假设chrome的安装路径为 /Applications/Google/Chrome.app

新建一个文件名为:chrome.command,文件内容如下所示:

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/jiang/Documents/chromeTempCross

 测试:双击点击“chrome_cross.bat”文件,如下所示,即为成功:

Tips:这只是在开发中的一种临时方案,也是最简单的一种方式,当然还有其他方式也可解决,所示在实际开发中,我们还是需要有web安全的这种意识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/595428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL库(1)

STL库(1) vectorvector介绍vector使用初始化元素访问内存扩容插入删除 listlist介绍初始化,元素访问插入删除元素 vector和list区别 vector vector介绍 vector是可以改变大小的数组的容器。其内存结构和数组一样,使用连续的存储…

我是如何精通软件工程的

软件工程是一个庞大且不断演化的领域,涉及许多创新。虽然如此,大多数技术 —— 如果不是全部 —— 在软件工程中往往最终汇聚为几个基本原则。工程师更好地掌握软件工程的方法是熟悉软件工程的基础知识,而不是那些不断变化的框架、语言或平台…

2023年Web服务器基准测试:NodeJS vs Java vs Rust vs Go

现在是2023年,是时候进行一次新的Web服务器基准测试了! 结果对我来说有些出乎意料! 一个Web服务器必须能够处理大量请求,尽管瓶颈在于IO。这次我决定比较最流行的、速度极快的现代框架的性能。 以下是有关实现细节的许多详细信息…

安装 vue-element-admin,安装报错解决

安装 vue-element-admin 克隆项目 git clone https://github.com/PanJiaChen/vue-element-admin.git //(英文的)git clone -b i18n https://github.com/PanJiaChen/vue-element-admin.git // 这个克隆出来是有中英文切换的进入项目目录 cd vue-element-admin建议不要用 cnpm…

chatgpt赋能python:Python交互编程入门指南

Python交互编程入门指南 Python是一种高级编程语言,适合初学者和专业人士使用。Python的互动式编程方式为开发人员提供了快速反馈的环境,从而实现更便捷和高效的开发过程。在本文中,我们将介绍Python的交互编程,为您提供Python编…

达梦数据库运维常用归档、sql日志、dexp与dimp操作

目录 一、归档文件配置... 3 二、sql⽇志的开启和关闭以及基本的操作... 3 三、执行计划... 5 四、工具和命令行数据库物理、逻辑备份,还原... 6 1、工具物理备份... 6 2、命令行联机备份... 8 3、命令行脱机备份... 8 4、工具物理还原... 8 5、命令行DMRM…

C++之动态分配new 删除delete 初始化memset

文章目录 1.动态分配 new1.引言2.new的实现 2.删除 delete3.初始化 memset 1.动态分配 new 1.引言 用new创建数组的优势:由于new创建的对象是在运行时确立的,所以有着具体情况具体分析的优点,那么什么叫做具体情况具体分析呢? 举…

linux led 驱动

前言 今天是儿童节,挣个奖牌给小孩玩玩。 在 linux 驱动大家庭中,LED 驱动算是个儿童,今天就写写他吧。正好之前写过他的婴儿时期《i.MX6ULL 裸机点亮 LED》,记得那时候他还穿着开裆裤呢,裸鸡嘛。 ioremap() 裸机程…

某点资讯Signature纯算逆向

本篇主要是介绍一些工作的运用熟练性,以及跟踪堆栈去看是否做一些其他操作等: 抓包: signature 为加密值; 先上trace下堆栈及加密 我们把结果base64下,看结果是否一致,来判断base64是否魔改 验证base64为标准&…

新规之下产业园区如何合理收费水电费用

一、政策背景 2018年3月30日,国家发改委发布《国家发展改革委关于降低一般工商业电价有关事项的通知》。明确提出进一步规范和降低电网环节收费,一是提高两部制电价的灵活性;二是全面清理规范电网企业在输配电价之外的收费项目,重…

三极管 场效应管

NPN 高电平导通 PNP 低电平导通 N-MOS 高电平导通 P-MOS 低电平导通 1. NPN 三极管,对于软件工程师来说,只需要关注数字电路,即: 导通还是截止,高电平还是低电平。至于三级管内部如何构成的,以及串了多少个电阻&am…

智能安全配电装置在老旧建筑防火中的应用

【摘要】现代社会的发展离不开电能,随着电能应用的广泛性,对用电安全有了更高的要求。近些年来,用电安全形式严峻,尤其是一些老旧建筑中因用电而引起的火灾事故频发,造成一系列严重的损失,严重影响着民众的…

PCout(n) -- STM32F103RCT6 位带操作

1. 使用位带操作控制GPIO口的输入、输出模式,以及输出的电平高、低 注:位带操作一般是操作单独的一个bit 位,而&,| 则可操作多个bit位,看自己的需求吧。(不懂&,| 是什么意思的自行问度…

MySQL-6-多表操作

一、复制表 格式 create table 表名 select查询语句注意:复制成新表时,键值(pri,index等等)索引不会同步复制案例 mysql> create table t2 select name,sex,age from user;二、多表查询 2.1、 多表查询–>连接查询 将2个…

Vue.js 比较重要知识点总结一

概述 谈一谈你对 Vue.js 的响应式数据的理解Vue3 出现解决了什么问题?它有哪些优势?Vue3 新特性有哪些vue2 和 vue3 的响应式有什么区别? 谈一谈你对 Vue.js 的响应式数据的理解 Vue 2.x 对象类型:通过 object.defineProperty(…

MySQL——初窥门径

前言 六一?作为一个大小孩当然是快快乐乐搞技术啦~在这篇文章中,荔枝会梳理SQL语句的基本语法以及MySQL中的函数、约束。多表关系以及查询、事务和事务隔离级别等内容,大致内容归属于MySQL基础知识,荔枝又弄了一篇万字长文哈哈哈哈…

R:GAM非线性回归曲线拟合与散点密度图绘制

作者:CSDN @ _养乐多_ 本文将介绍使用R语言以及GAM模型,绘制回归曲线和散点密度图。 文章目录 一、R语言脚本二、色带一、R语言脚本 install.packages("ggpointdensity") install.packages("ggplot2") insta

IPD发展史

随着IPD(集成产品开发)在IBM、华为等企业取得了巨大的成功,其他行业也开始在相关新产品研发中初步引入IPD的研发管理理念及模式,对IPD在行业的应用进行初步的探索和研究。 为了更好地应用IPD ,不仅要对它的理念和思想理…

浅谈高等学校能源监控管理体系建设

摘要:现代高校担当着人才培养,社会服务和文化传承与创新的光荣使命。高校低碳节能工作是加快建设“和谐社会”、“绿色校园”的重要举措 。当前高校以“数字化能源监测平台”为重心 ,积极推动能源管理的转型 。该文总结高校能源监管平台建设的…

达梦数据库作业调度及警报配置

目录 作业... 4 创建代理环境... 4 1、命令行创建及删除... 4 2、客户端创建及删除... 4 操作员... 5 1、命令行创建及删除... 5 2、客户端创建及删除... 5 作业... 6 一、命令行... 6 1、命令行创建作业... 6 2、命令行修改作业... 7 3、启动或暂停作业... 7 4、…