浏览器跨域的配置

这篇具有很好参考价值的文章主要介绍了浏览器跨域的配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

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安全的这种意识。文章来源地址https://www.toymoban.com/news/detail-467125.html

到了这里,关于浏览器跨域的配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器同源策略导致跨域问题 No ‘Access-Control-Allow-Origin‘ header 原因及解决方式--(后端、nginx、前端)

    目录 现象 原因 浏览器同源策略 导致结果: 解决方案 跨源资源共享(CORS) 各个端解决方法: 后端: 方式1:重载WebMvcConfigurer方法 方式2:配置监听CorsFilter 方式3:相关类上加注解 @CrossOrigin 注意事项: Nginx解决: 情况1: 前端解决: 本人身份:后端 今天部署线上环境前端

    2024年01月23日
    浏览(56)
  • Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域资源共享(访问控制允许来源:允许指定的来源进行跨域请求)浏览器同源策略、OPTIONS预检请求

    浏览器的同源策略(Same-Origin Policy)限制了跨域请求,如果不进行特殊处理,跨域请求将被浏览器拦截。 接口支持跨域能够允许浏览器跨域请求不被浏览器拦截。 下面是跨域请求的一些影响、优点和缺点: 优点 允许不同域名下的应用程序进行数据交互,提高了系统的灵活性

    2024年02月11日
    浏览(45)
  • 浏览器同源策略

    同源策略 :是一个重要的 浏览器的安全策略 ,用于 限制一个源 的文档或者它加载的脚本如何能 与另一个源的资源进行交互 它能帮助阻隔恶意文档,减少可能被攻击的媒介 例如:被钓鱼网站收集信息,使用ajax发起恶意请求,传递转账信息给银行服务器 源 web内部的源 由

    2024年02月14日
    浏览(43)
  • 浏览器安全之同源策略

    原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 浏览器的同源策略是一种安全机制,用于保护用户信息和防止恶意代码的执行。它是由浏览器实施的一组规则,限制了不同源(origin)的网页之间的交互。 同源是指两个网页具有相同的协议(protocol),主机(

    2024年02月11日
    浏览(47)
  • 浏览器安全-同源策略和CORS

    同源策略是浏览器的一个安全功能,浏览器禁止在当前域读写其他域的资源,如限制跨域发送ajax请求 不受同源策略限制的 1)页面中的链接,重定向表单以及表单提交 2)跨域资源引入 如script不受跨域限制,可以跨域请求src 如何解决跨域访问资源 1)利用script的跨域特性绕过

    2024年02月09日
    浏览(44)
  • 同浏览器下多窗口进行跨源通信、同源通信

    多页面通信运用到了“发布订阅”的设计模式,一个页面发布指令,其他页面进行订阅并进行相应的行为操作! window.postMessage() window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为 https),端口

    2024年02月08日
    浏览(38)
  • nginx处理cros跨域遇到的各种问题及解决方案,以及https配置和浏览器https不安全问题处理

    提示:本人在生产部署服务时遇到一系列跨域问题和https配置问题,特此做以下记录: 跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了

    2024年02月02日
    浏览(64)
  • 浏览器跨域

    生活中的事跟跨域有什么关系,那必须有。 跨域的产生是浏览器的安全机制引起的,只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求,但要看远程服务器脸色,他没授权,浏览器这个老六就给拦截了,不能用这个结果,像极了游戏机让买不让玩。 跨域(Cr

    2024年02月10日
    浏览(37)
  • 浏览器跨域问题

    违背 同源策略 就是跨域。 同源策略 : 网页的url 和 该网页请求的url 的协议、域名、端口必须保持一致。 协议、域名、端口必须保持一致. 同源策略存在的原因: 保护用户隐私和防范网络攻击(https://editor.csdn.net/md?not_checkout=1spm=1011.2415.3001.6217articleId=132763789) 即如果网页请求的

    2024年02月09日
    浏览(35)
  • 浏览器:跨域及解决方法

    一、为什么会出现跨域问题 出于浏览器的 同源策略 限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能不能使用。可以说Web是构建在同源策略基础之上的, 浏览器只是针对同源策略的一种实现 。

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包