目录

  • 同源策略
  • 同源策略的执行
  • 说说同源策略的限制
  • 没有同源策略的危害

同源策略

之前学习跨域方式的时候介绍过同源策略,但是学习真的不能知其一而不知其意,当时只是简单的了解,昨天面试随着面试官加深的询问没有同源策略会怎样,才发现自己还是没有真正的明白,今天简单记录一下0.0 Salute!

九种跨域方式及实现原理:https://blog.csdn.net/f944913628/article/details/114288543?spm=1001.2014.3001.5501

同源策略:是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

同源策略的执行

所有的同源策略都是由浏览器执行的,所有的限制都是因为浏览器的作用,这是因为浏览器为保护用户隐私而才去的措施。

说说同源策略的限制

1、不能获取不同源的cookie,LocalStorage 和 indexDB

如果不同源可以获取用户的cookie信息等,被恶意的人加以操作,岂不是很可怕,所以这是为了防止恶意网站获取用户其他网站的cookie数据做出的限制。

2、不能让获取非同源的DOM

举个栗子:如果没有这一条,恶意网站可以通过iframe打开银行页面,可以获取dom就相当于可以获取整个银行页面的信息。

3、不能发送非同源的ajax请求。(准确说应该是可以向非同源的服务器发起请求,但是返回的数据会被浏览器拦截)

这里引用一下别人写的话说的很好:大佬
为什么ajax访问不能跨域?这得先说说cookie

1.客户向A网站的服务器发送登录请求,并携带账号密码数据
2.A网站的服务器校验账号密码正确后,返回响应并给本地添加了Cookie
3.之后客户再次向A网站发起请求会自动带上A网站存储在本地的cookie
4.A网站的服务器从cookie中获取账号密码数据后,返回登陆成功界面。

假设有一个黑客叫做小黑,他从网上抓取了一堆美女图做了一个网站,每日访问量爆表。

为了维护网站运行,小黑挂了一张收款码,觉得网站不错的可以适当资助一点,可是无奈伸手党太多,小黑的网站入不敷出。

于是他非常生气的在网页中写了一段js代码,使用ajax向淘宝发起登陆请求,因为很多数人都访问过淘宝,所以电脑中存有淘宝的cookie,不需要输入账号密码直接就自动登录了,然后小黑在ajax回调函数中解析了淘宝返回的数据,得到了很多人的隐私信息,转手一卖,小黑的网站终于盈利了。

如果跨域也可以发送AJAX请求的话,小黑就真的获取到了用户的隐私并成功获利了!!!
为了防止小黑这种黑客侵犯用户的隐私,同源政策就出现了。 拯救了银河系!!!

用form表单提交到不同源的网页是被允许的,因为 form 提交到另一个域名之后,原页面的脚本无法获取新页面中的内容,所以浏览器认为这是安全的。

而 AJAX 是可以读取响应内容的,因此浏览器不能允许你这样做。如果你细心的话你会发现,其实请求已经发送出去了,你只是拿不到响应而已。

所以浏览器这个策略的本质是,一个域名的 JS ,在未经允许的情况下,不得读取另一个域名的内容。但浏览器并不阻止你向另一个域名发送请求。

没有同源策略的危害

如果没有同源策略的作用,任意站点之间可以可以操作资源,当你在访问一个合法网站的时候,又打开了一个恶意网站,包含了恶意脚本,恶意脚本便可以操作合法网站上的一切资源。

同源策略的限制,没有同源策略会怎么样?相关推荐

  1. 计算机无法打开策略,windows电脑本地计算机策略打不开该怎么解决?

    最近在修电脑的过程中打开主策略,进入本地计算机策略时候,打不开提示MMC无法创建管理单元,MMC未能创建管理单元,管理单元可能未正确安装.这多半和我们的变量设置有关.下面小编为大家分析下解决办法.希望 ...

  2. 如何恢复默认域策略和默认域控制器策略

    如果需要将默认域策略和默认域控制器策略恢复为起始状态,可以使用Dcgpofix.exe.这是一个命令行程序,内置在2008 R2中.要恢复默认域策略,请运行以下命令:Dcgpofix /target: ...

  3. 投资计算机方面的策略构建,金融投资简单的策略分享和构建策略的基本思路

    市场投资除了基本的理念,技术分析之外,还需要构建一套完善的交易系统,其中包括:风险控制.资金管理.心态控制.情绪管理,有效且能执行的交易策略.不少朋友认为交易系统就是一套技术分析体系,其实这里面也没有 ...

  4. php 策略模式实现原理,php 策略模式原理与应用深入理解

    php 策略模式原理与应用深入理解,策略,可以用,接口,简单,算法 php 策略模式原理与应用深入理解 易采站长站,站长之家为您整理了php 策略模式原理与应用深入理解的相关内容. 本文实例讲述了ph ...

  5. dubbo调用失败策略_面试官:dubbo负载均衡策略,集群容错策略,动态代理策略有哪些...

    面试官心理分析 继续深问吧,这些都是用 dubbo 必须知道的一些东西,你得知道基本原理,知道序列化是什么协议,还得知道具体用 dubbo 的时候,如何负载均衡,如何高可用,如何动态代理. 说白了,就 ...

  6. 计算机用户名密码策略,设置域用户帐户密码策略

    设置域用户帐户策略 从安全和易用考虑,普通域用户的帐户策略必须满足一下要求: u 密码长度至少3位 u 最长使用期限60天 u 密码必须符合复杂性要求 u 密码最短使用0天 u 帐户锁定阀值7次 u ...

  7. java策略设计模式_Java中的策略设计模式

    java策略设计模式 策略设计模式是一种行为模式,其中我们有多种算法/策略来完成一项任务,所使用的算法/策略留给客户选择. 各种算法选项封装在单独的类中. 在本教程中,我们将学习在Java中实现策略设 ...

  8. 策略模式示例代码_策略设计模式示例

    策略模式示例代码 本文是我们名为" Java设计模式 "的学院课程的一部分. 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们. 您将了解模式如此重要的 ...

  9. java状态模式和策略模式_Java状态和策略设计模式之间的差异

    java状态模式和策略模式 为了在Core Java应用程序中正确使用状态和策略设计模式,对于Java开发人员清楚地了解它们之间的区别很重要. 尽管状态和策略设计模式的结构相似,并且都基于开放式封闭设 ...

  10. 工厂设计模式和策略设计模式_设计模式:策略

    工厂设计模式和策略设计模式 这次我想谈谈策略设计模式 . 通过这种方式,我开始撰写有关行为设计模式的文章. 这种模式表示对象之间的某些交互模式,以使代码更灵活且组织得更好.此方法的最本质点是对象之间的 ...

最新文章

  1. 为什么阿里P8、P9技术大牛反复强调“结构化思维”?
  2. audio标签控制音量_html中audio标签的使用
  3. 破解RSA的一些技术
  4. 战斗机各种世界之最,涨知识了。。。
  5. 深入::first-letter的研究
  6. JAVA编程中的类和对象
  7. FTP文件同步(java版)
  8. 商业计划书,有什么idea,模板帮你来
  9. DSP实验报告—实验2  编写一个以C语言为基础的DSP程序
  10. 记录一个 Python 的 re.match() 的小坑
  11. AutoML 是否被过度炒作?
  12. JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程
  13. 运行Moblin Live映像 - for Mobin v2.1
  14. 产业分析:光伏产业发展路线图
  15. Android Amazon S3 功能接入
  16. HDU 5643 King's Game 【约瑟夫环】
  17. 单元测试总结反思_英语单元测试教学反思范文
  18. 何晓理(风过无痕)-从85年开始的学习经历
  19. 自学成才!16个非常优秀的在线教育网站
  20. Microsoft Office PPT 编程(VBA)学习 (不定时更新,正在学习 ing)

热门文章

  1. CTA 策略分享之一
  2. oracle数据库可连接性检查
  3. CAD文件翻译和本地化
  4. 图像处理之Lanczos采样放缩算法
  5. 活动时长计算尝试用Lambada 实现责任链的代码优化
  6. 2022东南大学916网络空间安全/电子信息初试心得
  7. 文本分类(text classification)
  8. 矩阵与矩阵转置的加法
  9. 2022年食盐市场现状
  10. markdown 高级复杂表格技巧