同源策略(SOP)和跨域访问

「 网络安全常用术语解读 」同源策略SOP详解:没有SOP就没有隐私 同源策略(Same Origin Policy,SOP)是浏览器的一种安全机制,旨在防止网站相互攻击。同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问/操作另一个域的绝大部分属性和方法。这种策略有助于保护用户数据的安全,防止恶意脚本或代码的执行。同时,它也限制了网页能够访问和操作的网络资源范围,有助于提高网页的性能和安全性。同源策略限制一个源上的脚本访问另一个源的数据。一个源包括一个URI协议、域名和端口号。这使用 http 协议、域名 normal-website.com 和端口号 80。 阅读详情

所谓同源就是要求, 域名, 协议, 端口相同. 非同源的脚本不能访问或者操作其他域的页面对象(如DOM等). 作为著名的安全策略, 虽然它只是一个规范, 并不强制要求, 但现在所有支持 javaScript 的浏览器都会使用这个策略. 以至于该策略成为浏览器最核心最基本的安全功能, 如果缺少了同源策略, web的安全将无从谈起.

iframe限制

可以访问同域资源, 可读写;
访问跨域页面时, 只读.

Ajax限制

Ajax 的限制比 iframe 限制更严.
同域资源可读写;
跨域请求会直接被浏览器拦截.(chrome下跨域请求不会发起, 其他浏览器一般是可发送跨域请求, 但响应被浏览器拦截)

Script限制

script并无跨域限制, 这是因为script标签引入的文件不能够被客户端的 js 获取到, 不会影响到原页面的安全, 因此script标签引入的文件没必要遵循浏览器的同源策略. 相反, ajax 加载的文件内容可被客户端 js 获取到, 引入的文件内容可能会泄漏或者影响原页面安全, 故, ajax必须遵循同源策略.

这里需要澄清一个概念, 所谓的域, 跟 js 等资源的存放服务器没有关系, 比如你到 baidu.com 使用 script 标签请求了 google.com 下的js, 那么该 js 所在域是 baidu.com, 而不是 google.com. 换言之, 它能操作baidu.com的页面对象, 却不能操作google.com的页面对象.

这里要与referer区分开,referer是浏览器的行为,所有浏览器发出的请求都不会存在安全风险。而由网页加载的脚本发起请求则会不可控,甚至可以截获用户数据传输到其他站点。referer方式拉取其他网站的数据也是跨域,但是这个是由浏览器请求整个资源,资源请求到后,客户端的脚本并不能操纵这份数据,只能用来呈现。

源的更改

页面可能会更改其自己的来源,但有一些限制。脚本可以将 document.domain 的值设置为其当前域或其当前域的超级域。如果将其设置为其当前域的超级域,则较短的域将用于后续原始检查。例如,假设文档中的一个脚本在 http://store.company.com/dir/other.html 执行以下语句:

document.domain = "company.com";

这条语句执行之后,页面将会成功地通过对 http://company.com/dir/page.html 的同源检测。而同理,company.com 不能设置 document.domain 为 othercompany.com.
这里写图片描述

以下是可能嵌入跨源的资源的一些示例:

<script src="..."></script>标签嵌入跨域脚本。语法错误信息只能在同源脚本中捕捉到。
<link rel="stylesheet" href="...">标签嵌入CSS。由于CSS的松散的语法规则,CSS的跨域需要一个设置正确的Content-Type消息头。不同浏览器有不同的限制: IE, Firefox, Chrome, Safari (跳至CVE-2010-0051)部分 和 Opera。

<img>嵌入图片。支持的图片格式包括PNG,JPEG,GIF,BMP,SVG,…
<video> 和 <audio>嵌入多媒体资源。
<object>,<embed>和<applet>的插件。
@font-face引入的字体。一些浏览器允许跨域字体( cross-origin fonts),一些需要同源字体(same-origin fonts)。

<frame> 和 <iframe>载入的任何资源。站点可以使用X-Frame-Options消息头来阻止这种形式的跨域交互。

如何阻止跨源访问

阻止跨域写操作,只要检测请求中的一个不可测的标记(CSRF token)即可,这个标记被称为Cross-Site Request Forgery (CSRF) 标记。必须使用这个标记来阻止页面的跨站读操作。
阻止资源的跨站读取,需要保证该资源是不可嵌入的。阻止嵌入行为是必须的,因为嵌入资源通常向其暴露信息。
阻止跨站嵌入,确保你得资源不能是以上列出的可嵌入资源格式。多数情况下浏览器都不会遵守Conten-Type消息头。例如,如果你在<script>标签中嵌入HTML文档,浏览器仍将HTML解析为Javascript。

最严重的跨域——跨特权域

所有跨域行为中最严重的莫过于跨特权域。在客户端中,有一些域的权限比较高,例如file://这个协议域,ie中允许调用ActiveX执行cmd,Webkit中可以读取磁盘上的文件。另外还有客户端自定义的特权域,例如Chrome的chrome://downloads/域,有着执行exe的权限。这事儿太严重了,这不仅意味着任意一个网站都可以浏览/修改你的浏览器配置,而且可以不经你同意上传文件,甚至会在你的电脑上安装木马。跨特权域最经典的例子莫过于黑哥去年讲的 《跨过的那些客户端》。

MEAN FSD全栈开发教程(附源码) MEAN FSD全栈开发教程,含源码 立即下载

相关推荐

Ghost备份还原Win10全攻略:从老电脑迁移到新硬盘,ESP分区处理是关键

本文详细介绍了使用Ghost工具将Win10系统从旧电脑迁移到新硬盘的全过程,特别强调了ESP分区的关键处理方法。通过分步指导备份、分区准备、系统还原和引导修复,帮助用户实现无缝系统迁移,解决常见问题如启动失败和驱动兼容性。

weixin_30823001的博客 672

漫谈同源策略(SOP)和跨域资源共享(CORS)

漫谈.....

IerkeU的博客 4598

Deepseek 10分钟化身理性荐股神器:触碰程序员不敢想的天花板

在这个消息疯狂、波动频繁的市场,“理性”两字显得弥足珍贵。通过Deepseek+AkShare+Aktools+Dify四位一体的方案,能帮我们降低信息搜集成本,并在短期投资领域搭建出一套“可解释、低门槛、易定制”的量化荐股流程。不要再盲目听小道消息或依赖情绪驱动,不妨给自己一个机会,让数据说话。而要注意的是,“理性荐股”并非万能,它只是工具,最终的收益还得依赖投资者自身对风险和机遇的权衡。祝大家都能在这股市里收获理性的底气,寻得更精准的入场时机。

qqxdh的博客 3754

同源策略与跨域的解决方案

总所周知,同源策略是导致跨域的原因,那么什么是同源策略,又可以如何解决跨域的问题呢?咱们一起往下探讨吧~当浏览器中一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。用户在使用浏览器的情况下会使用到 CORS,因为控制访问权限的是浏览器而非服务器。因此使用其它客户端的时候无需关心任何跨域问题。同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能。

失眠时间的博客 3797

深入探讨 VQ-VAE:理解变分量化自动编码器

VQ-VAE代表"Variational Quantized Variational Autoencoder",是一种生成模型,通常用于处理高维数据,如图像和音频。它的设计灵感来自于变分自动编码器(VAE)和量化方法,结合了它们的优点,使得 VQ-VAE 能够生成高质量的数据,并在数据表示上引入离散性。VQ-VAE 是一种强大的生成模型,结合了变分自动编码器和量化方法的优点。它在图像和音频生成、数据压缩和生成性对抗网络等领域具有广泛的应用。

DeepViewInsight的博客 7016

EWF写保护功能详解:从安装到实战操作指南

本文详细介绍了EWF写保护功能的安装与实战操作指南。EWF(Enhanced Write Filter)通过重定向写入操作保护硬盘分区,特别适合需要长期稳定运行的系统场景。文章涵盖从安装准备、图形界面操作到命令行高级管理的全流程,并提供了常见问题的解决方案,帮助用户轻松掌握这一实用工具。

weixin_28710999的博客 448

什么是浏览器同源策略(Same-Origin Policy)?

协议:如httphttps。域名:如。端口:如80(http 默认端口)或443(https 默认端口)。如果两个 URL 的协议、域名和端口都相同,则它们被认为是同源的。和是同源的。和不是同源的(不同的协议)。和不是同源的(不同的域名)。和不是同源的(不同的端口)。浏览器同源策略是 Web 安全的重要基石,尽管有时候它可能会限制开发者的操作,但其存在的主要目的是为了保护用户免受潜在的安全威胁。

xingyu_qie的专栏 2361

PyTorch实战:从零构建CNN图像分类模型

卷积神经网络(CNN)作为计算机视觉的核心架构,通过局部连接和权值共享机制高效处理图像数据。其核心组件包括卷积层、池化层和全连接层,其中PyTorch的动态计算图特性为CNN实现提供了灵活的开发环境。在工程实践中,使用CIFAR-10这类标准数据集可以快速验证模型性能,而数据增强和批归一化等技术能有效提升模型泛化能力。通过PyTorch实现CNN不仅能够掌握图像分类的基本原理,还能为后续迁移学习和复杂视觉任务打下基础,特别是在结合Adam优化器和学习率调度策略后,模型收敛速度和准确率都能得到显著提升。

weixin_42405592的博客 318

同源政策 (SOP)

其目的是将浏览器窗口(和选项卡)相互隔离,例如,当您访问 example.com 时,该网站将无法读取您来自 gmail.com 的电子邮件,而您可能在另一个网站上打开了这些电子邮件标签。这意味着,如果您在网站的 iframe 中加载恶意网站,该框架可以将您网站的 URI 更改为例如网络钓鱼页面(克隆您的页面,例如窃取用户密码或让他们下载恶意的东西)。:如果您指定这样的 CORS 标头,您将给予允许的来源完全控制您的网站,包括任何经过身份验证的用户数据和功能。它谈论的是预检请求和请求模式。

allway2的博客 845

均值回归 高频交易_基于布林带的均值回归交易策略

BOLL指标是美国股市分析家约翰·布林根据统计学中的标准差原理设计出来的一种非常简单实用的技术分析指标。一般而言,股价的运动总是围绕某一价值中枢(如均线、成本线等)在一定的范围内变动,布林线指标正是在上述条件的基础上,引进了“股价通道”的概念,其认为股价通道的宽窄随着股价波动幅度的大小而变化,而且股价通道又具有变异性,它会随着股价的变化而自动调整。由于之前大部分交易策略都是选股或者趋势追踪的择时,...

weixin_42528534的博客 1458

scratch绘制四个三角形 2024年6月中国电子学会 图形化编程 scratch编程等级考试二级真题和答案解析

​ scratch绘制四个三角形 一、题目要求 2024年6月电子学会图形化编程Scratch等级考试二级真题 1、准备工作 1.保留默认角色小猫; 2.添加背景Stars。 2、功能实现 1 .隐藏角色小猫,设置画笔裙始位置为(0,0),画笔颜色为黄色,画笔的粗细为5; 2. 点击绿旗,绘制如下图所示图形,三角形的边长为50。 二、案例分析 1、角色分析 角色:小猫 2、背景分析 背景:Stars背景 3、前期准备 1. 保留默认的小猫不变 ​

青少年编程学习指导 1717

基于同源策略对CORS和JSONP的初步认识

前言 这几天在拜读道哥的<<白帽子讲Web安全>>这本书,在看浏览器安全这章第一次接触到同源策略(Same Origin Policy)这个词,再加上道哥对SOP(Same Origin Policy)的字里行间都透露着其不二般的重要性,所以SOP自然毫无疑问值得我写一篇博客来记录对它的学习了! 此处以一张来自wooyun的截图证明SOP在浏览器安全中的地位 正文开始 什...

qq_43668710的博客 287

【即插即用模块】注意力篇 | TGRS 2025 | CDFIM:通道+空间多尺度注意力,双模态特征融合增强,性能翻倍!

C2DFF-Net提出了一种轻量级跨模态特征融合模块CDFIM,通过模态差异感知和多尺度深度滤波增强双模态互补信息。该模块采用通道-空间注意力协同机制,以极低计算成本(仅增加0.26M参数)提升多模态目标检测性能,在三个遥感数据集上平均提升mAP约1.7%。适用于无人机等边缘设备的实时检测任务,为跨模态融合提供高效解决方案。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 626

浏览器安全机制-同源策略

目录 同源策略 概述 同源策略的条件 跨域资源共享(CORS) HTTP头部声明 内容安全策略(CSP) 同源策略 概述 同源策略,SOP(Same Orgin Policy) 同源策略是浏览器对JavaScript进行跨域访问的安全策略,同时也是浏览器沙盒环境提供的一项制约。 概念补充: Ajax:Asynchronous JavaScript and XML ,是一种创建交互式、快速动态网页的网页开发技术,无需重新加载整个页面,只需要更新网页的部分。 什么是跨域? 跨域就.

weixin_44870846的博客 526

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

一分钟快速了解什么是同源策略

简而言之就是浏览器规定,A 网站的 JavaScript,不允许和非同源的网站 C 之间,进行资源的交互。同源就是两个页面的协议、域名、端口都相同,我们称这两个页面是同源,而非同源无法读取非同源网页的 cookie 、无法接触非同源网页的 DOM 、无法向非同源地址发送 AJAX 请求(可以发送,但浏览器会拒绝接受响应)。CSP 通过限制网页可以加载和执行的资源类型和来源,增强了网站的安全性,它允许网站管理员定义白名单来源,只有这些来源的脚本才能被执行,从而有效地减少了恶意脚本的执行机会。

Kangyan6的博客 389

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

WEB攻防通用漏洞&跨域CORS资源&JSONP回调&域名接管劫持

同源策略(SOP)-“同源包括三个条件:同协议、同域名、同端口。会检测数据包的来源在哪里,进而来判断数据包是否非法,如果检测到是第三方网站发送过来的数据包,网站就不会接收相应的处理,进而提高网站的安全性,防止CSRF。同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互这是一个用于隔离潜在恶意文件的关键的安全机制简单说就是浏览器的一种安全策略。虽然同源策略在安全方面起到了很好的防护作用但也在一定程度上限制了一些前端功能的实现所以就有了许多跨域的手段。

ranzi. 1931

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

什么是同源策略

同源策略

m0_59075169的博客 2634

浏览器同源策略

浏览器同源策略 同源(Same Origin Policy, SOP)的定义 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。 下表给出了相对http://store.company.com/dir/page.html同源检测的示例: URL 结果 原因 http://store.company.com/dir2/other.html 成功 ...

aichenkao9206的博客 173

浅析跨域资源共享协议相关安全问题(上)

未来的黑客大佬!我们终于找到你了~ 想要获取更多免费学习资料可搜索公众号:“掌控安全课堂” 后台回复”我想学黑客“即可 一、SOP是什么? 同源策略(Same Origin Policy, SOP)是Web应用程序的一种安全模型。同源策略限制一个源上的脚本访问来自另一个源的数据,这里需要说明一点,这里的跨域请求可能不是浏览器直接拦截掉了,而是跨站请求发起了,但是返回结果被浏览器拦截了,请求实际上已经发送到了后端服务器。同源策略旨在防止网站之间的攻击。这里举个例子,如果没有同源策略,当你浏览网站A的同时

Askshhbs的博客 384

跨域资源共享(CROS)

跨域资源共享(CROS) 同源策略(Same Origin Policy, SOP) 同源策略允许运行在页面的脚本可以无限制的访问同一个网站(同源)中其他脚本的任何方法和属性。当不同网站页面(非同源)的脚本试图去互相访问的时候,大多数的方法和属性都是被禁止的。 同源 协议 域名 端口号 只要以上三个值是相同的,我们就认为这两个资源是同源的。 跨域资源共享(CROS) 简介 CORS通...

aichenkao9206的博客 196

什么是跨域,怎么解决跨域?

同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。JSON是一种数据交换格式(采用键值对的方式,无序组合,数组是有序组合),而JSONP是一种非官方跨域数据交互协议。跨域是指浏览器不能执行其他网站的脚本。它是浏览器同源策略造成的,是浏览器对JS实施的安全限制。注意:跨域限制是浏览器的机制,如果直接在服务端请求,是不会触发跨域限制的。

似水流年QC的博客 1万+

什么是同源策略,什么是跨域,如何解决跨域

1.什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,现在所有支持 JavaScript 的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容易受到 XSS、 CSFR 等攻击。 同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源。 源就是协议、域名和端口号。 协议:http,https 域名:区域的名字,每个域名都对应一个IP地址,

weixin_43996260的博客 6522

同源策略与跨域访问(jsonp和cors等)

同源策略 由于浏览器安全限制,数据是不可以直接跨域(包括不同的根域名、二级域名、或不同的端口)请求的,除非目标域名授权你可以访问。 jsonp是使用方法回调的原理. 在网页里,你如果引入其他网页的js,那这个页面的js是可以调用你网页的代码的 ...

关注网络安全、云原生安全 1万+

同源策略与跨域资源共享

本文深入解析了Web安全中的同源策略(SOP)和跨源资源共享(CORS)机制。SOP作为浏览器强制实施的安全策略,严格限制不同源之间的资源交互,保护用户数据安全。而CORS则是在SOP基础上提供的受控例外机制,通过特定HTTP头部允许安全的跨域资源共享。文章详细介绍了同源的定义、SOP的限制范围与常见误解,以及CORS的核心HTTP头部、应用场景和请求流程。特别强调了CORS配置中的安全风险,并对比了JSONP等传统跨域技术。这些机制共同构成了现代Web应用安全交互的基础架构。

cccxcmm的博客 1367

web 跨域问题(SOP/CORS/CSRF)

同源策略 - same origin policy(SOP) 概念:两个网页同源是指这两个网页的协议,域名,端口全部相同 举例来说,http://www.example.com/dir/page.html这个网址,协议是http,域名是www.example.com,端口是80,它的同源情况如下: http://www.example.com/dir2/other.html 同源 ht...

zdplife的专栏 2841
上一篇: 更新代码到GITHUB上
下一篇: Postman进行http接口测试
Shannonnnn
博客等级 码龄10年 241粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值