首页 > 其他分享 >跨域——应对浏览器同源策略的一种方案

跨域——应对浏览器同源策略的一种方案

时间:2024-09-05 14:49:34浏览次数:12  
标签:网页 跨域 同源 敏感数据 浏览器 策略

理解跨域,首先需要理解同源策略 (Same origin policy)

何为源?

如图所示,Scheme + Domain Name + Port所组成的部分被浏览器视为,显然 https://www.baidu.com:80 https://www.jd.com:80 就不是同一个源,两者之间的Domain Name发生了变化

简而言之,(协议、域名、端口)其中任意一项发生了变化,那么对于浏览器而言,会被视为跨源。

 

为什么需要同源策略?

因为浏览器有浏览器缓存,被人们所熟知的有:cookies、local storage、session storage等,这些信息是用户与源之间的敏感数据,没有SOP同源策略,任何网页都可以访问其他页面的DOM。这将使其能够在未经用户同意的情况下从另一个网页访问潜在的敏感数据,并在其他网页上执行操作。为了避免恶意网站未经许可访问用户的敏感数据,NetscapeMozilla基金会前身提出了同源策略,如今已经成为浏览器中重要的安全机制之一。

标签:网页,跨域,同源,敏感数据,浏览器,策略
From: https://www.cnblogs.com/ashet/p/18398373

相关文章

  • 清理浏览器浏览历史
    建立bat文件,内容:@echooffecho正在清理浏览器历史记录...::Chrome/Chromiumecho清理Chrome/Chromium历史记录...RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess255::Firefoxecho清理Firefox历史记录...::注意:Firefox的浏览历史清理方式可能不同,通......
  • 【阅己书城】解决跨域
    1、跨域产生的条件当前页面url被请求页面url是否跨域原因http://www.test.com/http://www.test.com/index.html否同源(协议、域名、端口号相同)http://www.test.com/https://www.test.com/跨域协议不同(http/https)http://www.test.com/http://www.baidu.com......
  • Chrome 浏览器插件获取网页 window 对象(方案三)
    前言最近有个需求,是在浏览器插件中获取window对象下的某个数据,当时觉得很简单,和document一样,直接通过嵌入content_scripts直接获取,然后使用sendMessage发送数据到插件就行了,结果发现不是这样滴...在这里不推荐使用runtime.executeScript进行注入,很可能会报错:Refus......
  • 浏览器串口助手插件,web版本串口调试助手浏览器插件 Web Serial Online 发布
    WebSerialOnline:串口调试的新时代在数字化不断进步的今天,开发者和工程师面对单片机如ESP8266、ESP32以及RS485设备的调试任务时,往往需要便捷而高效的工具。我们最近推出的浏览器插件——WebSerialOnline,旨在简化这一流程,提供一个无缝且直观的解决方案。即插即用的高效工具......
  • 【前端工程化-Node.js】Node.js介绍、模块化、模块导入导出语法、npm包管理、同源和跨
    Node.js入门Node.js是什么Node.js是一个跨平台的JavaScript运行环境,主要使用场景有:编写后端程序:充当服务器,对外提供Web服务(接口、数据、网页资源等)前端工程化:对代码进行压缩,转译和整合浏览器和Node环境的对比Node.js内部封装了ChromeV8引擎,因此可以像浏览器一样运......
  • 如何优化浏览器缓存
    每当用户访问您的网站,他他们的浏览器需要从服务器上下载页面显示所需的资源(图片、CSS、JavaScript和字体等),这些资源的下载会占用带宽,并需要一定的传输时间。但通过正确配置,您可以告知用户的浏览器保存部分文件,这样下一次访问时可以直接从缓存中读取,从而加快页面加载速度。什么是浏......
  • Chrome 浏览器插件获取网页 window 对象(方案二)
    前言最近有个需求,是在浏览器插件中获取window对象下的某个数据,当时觉得很简单,和document一样,直接通过嵌入content_scripts直接获取,然后使用sendMessage发送数据到插件就行了,结果发现不是这样滴...在这里不推荐使用runtime.executeScript进行注入,很可能会报错:Refus......
  • macOS 将google-chrome命令直接映射到谷歌浏览器的可执行文件上。可以像在Ubuntu上一
     创建符号链接找到谷歌浏览器的可执行文件:在macOS中,应用程序通常位于/Applications目录下,并且它们的可执行文件隐藏在.app包中。谷歌浏览器的可执行文件路径是:bash复制代码/Applications/Google\Chrome.app/Contents/MacOS/Google\Chrome创建符号链接:你可以在终端......
  • Chrome 浏览器插件获取网页 window 对象(方案一)
    前言最近有个需求,是在浏览器插件中获取window对象下的某个数据,当时觉得很简单,和document一样,直接通过嵌入content_scripts直接获取,然后使用sendMessage发送数据到插件就行了,结果发现不是这样滴...这玩意还是个挺麻烦的点,下面给出三种解决方案在这里不推荐使用runtime......
  • 【前端面试】采用react前后,浏览器-解析渲染UI的变化
    浏览器渲染html浏览器解析和渲染UI(用户界面),特别是HTML文档,是一个复杂的过程,涉及到多个阶段。以下是浏览器从接收HTML文档到显示渲染后的页面的一般步骤:1.下载HTML文档:用户输入URL或点击链接时,浏览器会向服务器请求HTML文档。服务器响应请求,并将HTML文档......