`
hikin
  • 浏览: 266158 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

什么是同源策略

阅读更多

 一.什么是同源策略

   同源策略,它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript的浏览器都会使用这个策略。

  为什么需要同源策略,这里举个例子:

    假设现在没有同源策略,会发生什么事情呢?大家知道,JavaScript可以做很多东西,比如:读取/修改网页中某个值。恩,你现在打开了浏览器,在一 个tab窗口中打开了银行网站,在另外一个tab窗口中打开了一个恶意网站,而那个恶意网站挂了一个的专门修改银行信息的JavaScript,当你访问 这个恶意网站并且执行它JavaScript时,你的银行页面就会被这个JavaScript修改,后果会非常严重!而同源策略就为了防止这种事情发生.  

   比如说,浏览器的两个tab页中分别打开了http://www.baidu.com/index.html和http: //www.google.com/index.html,其中,JavaScript1和JavaScript3是属于百度的脚本,而 JavaScript2是属于谷歌的脚本,当浏览器的tab1要运行一个脚本时,便会进行同源检查,只有和www.baidu.com同源的脚本才能被执 行,所谓同源,就是指域名、协议、端口相同。所以,tab1只能执行JavaScript1和JavaScript3脚本,而JavaScript2不能 执行,从而防止其他网页对本网页的非法篡改。

  二.Selenium Server为什么以这种代理服务器的形式存在

   上面说了同源策略,那同源策略的Selenium Server有什么关系呢??呵呵,上一篇说过,Selenium Core是一堆JS函数的集合,它是我们操作浏览器的基础。当存在同源策略时,便出现一些问题.


   因为Selenium Core的JS脚本的“源”是localhost,所以浏览器会阻止Selenium Core的JS脚本在测试页面上执行,这就是为什么在本系列第一篇中说,如果只使用Selenium Core进行测试,需要把Selenium Core安装到远程服务器上。

   为了解决上面这个问题,Selenium RC中的Selenium Server就以代理服务器的形式出现了.


   Selenium Server以代理的形式存在,通过修改WebSite的源信息,从而达到欺骗浏览器的目的,就这样,Selenium RC就轻松绕过了同源策略。在上图中,浏览器会认为WebSite和Selenium Core来自同一个“源”----代理服务器!


转自:http://hi.baidu.com/legend_swallow/blog/item/e83494bb76d8890419d81fb3.html

分享到:
评论
5 楼 damaomiyihao 2014-12-18  
[url][img]
[/img][/url]
4 楼 damaomiyihao 2014-12-18  
[color=white][/color]      
3 楼 jiao_zg22 2013-12-25  
[flash=200,200][/flash]
2 楼 zi_ye 2012-12-06  
很有用,学习了
1 楼 hanmiao 2012-09-03  
正在看 Selenium ,书上出现了同源策略,不懂什么意思于是上网搜了下,结果就找到这里来了,现在我明白了,再次感谢。

相关推荐

    实现跨域的方式 什么是同源策略

    实现跨域的方式 什么是同源策略

    同源策略以及cookie安全策略

    【同源策略】是Web浏览器实施的一种安全策略,旨在防止恶意脚本从一个域名访问另一个域名的数据。简单来说,它规定同一源(协议、域名和端口)的JavaScript才能访问和修改网页内容,如HTML、CSS和Cookies。然而,...

    Collabtive系统浏览器同源策略探索实验-内含源码以及设计说明书(可以自己运行复现).zip

    **一、什么是同源策略** 同源策略的基本规则是:只有当两个URL的协议、域名和端口都完全相同时,一个页面才能读取另一个页面的文档对象模型(DOM)、Cookie、JavaScript变量等资源。例如,www.example.com上的网页...

    同源策略详细介绍文档

    **同源策略**是指在[Web浏览器](https://zh.wikipedia.org/wiki/排版引擎)中,允许某个网页[脚本](https://zh.wikipedia.org/wiki/腳本)访问另一个网页的数据,但前提是这两个网页必须有相同的[URI]...

    第八节 浏览器同源策略介绍-01

    浏览器同源策略介绍 浏览器同源策略是计算机安全领域中的一种重要机制,旨在阻止恶意代码在不同源之间进行非法操作。同源策略(Same-origin Policy,SOP)是浏览器安全机制中的一部分,用于阻止来自不同源的页面...

    Ajax第二天.xmind

    ajax知识总结: ...什么是同源策略?协议 域名 端口号 只要其中有一个不一样就违背了同源策略 就会产生跨域 3.解决跨域:生产环境一般跨域都是后台解决,前端代码要放到服务器上,开发环境可以通过jsonp解决跨域

    web安全技术之同源策略

    中国科学院大学研究生教材,网络空间安全学院名师讲授

    同源策略和跨域解决方案.docx

    同源策略和跨域解决方案 同源策略是浏览器的一个安全功能,用来限制不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这...

    js同源策略详解

    同源策略的概念首先需要明确什么是“同源”。同源是指两个网页具有相同的协议、域名和端口号,当这三个因素都相同的情况下,它们被认为是同源的。基于同源策略,同源的网页可以相互访问对方的文档和脚本,而不同源的...

    WEB前端安全之同源策略.pdf

    【同源策略】是Web浏览器中的一个重要安全机制,它的全称是Same-Origin Policy。这个策略主要是为了保护用户信息不被恶意网站窃取,通过限制JavaScript只能访问与当前页面同源(即协议、域名和端口均相同)的网页...

    基于同源策略的移动应用细粒度隐私保护技术.docx

    ### 基于同源策略的移动应用细粒度隐私保护技术 #### 一、引言 随着移动智能终端的迅速发展,智能手机已经成为人们日常生活中不可或缺的一部分。Android等移动平台的普及不仅带来了丰富的功能和良好的用户体验,...

    js -- 跨域问题.doc

    一、什么是同源策略 同源策略是指浏览器出于安全考虑,限制了不同域之间的资源交互。如果协议、域名、端口号有一个不同,就会产生跨域。跨域会导致Ajax请求别的域的资源失败,无法读取别的域中网页的Cookie、...

    BOSDGM#book#01-同源策略1

    1. 同源1.1 源源(Origin), 指 协议, 域名和端口号1.2 同源策略同源策略是浏览器为了保护客户端安全, 而进行限制的一种行为, 非同源情况下是无

    网安面试必考题合集及答案(PDF资料)

    8、什么是同源策略 9、TCP 三次握手的过程以及对应的状态转换 10、TCP和UDP协议区别 11、多线程、多进程区别 12、NTLM原理 13、什么是由间人攻击 14、防御中间人攻击的方案 15、描述 tcp/udp的区别及优劣,及其发展...

    js跨域解决方案

    首先,我们需要了解什么是同源策略。同源策略是浏览器为了保护用户数据安全而实施的一项机制,它限制了来自不同源的脚本之间进行交互。然而,这在某些场景下限制了Web应用的功能,如API调用、资源共享等。 1. **...

    JavaScript跨域总结

    一、什么是同源策略? 同源策略是浏览器的一种安全机制,它限制了来自不同源的"文档"或脚本互相交互。这种策略防止了一个恶意网站通过嵌入恶意代码到另一个合法网站中,从而获取用户的敏感信息。 二、为什么需要...

    CSRF防护:同源策略详解.docx

    CSRF防护:同源策略详解.docx

Global site tag (gtag.js) - Google Analytics