首页 > 试题广场 >

JavaScript 的同源策略

[问答题]
请解释一下 JavaScript 的同源策略。
概念:
同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。
这里的同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。

为什么要有同源限制:
我们举例说明:比如一个黑客程序,他利用Iframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。
发表于 2015-07-27 15:13:25 回复(0)
1.什么是同源?

所谓“同源”指的是”三个相同“。相同的域名、端口和协议,这三个相同的话就视为同一个域,本域下的JS脚本只能读写本域下的数据资源,无法访问其它域的资源。

- 协议相同

- 域名相同

- 端口相同(如果没有写端口,默认是80端口)

2.什么是同源策略?

同源策略是浏览器为了保护用户的个人信息以及企业数据的安全而设置的一种策略,不同源的客户端脚本是不能在对方未允许的情况下访问或索取对方的数据信息;

3.同源策略的目的

同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。

设想这样一种情况:A 网站是一家银行,用户登录以后,又去浏览其他网站。如果其他网站可以读取 A 网站的 Cookie,会发生什么?

很显然,如果 Cookie 包含隐私(比如存款总额),这些信息就会泄漏。更可怕的是,Cookie 往往用来保存用户的登录状态,如果用户没有退出登录,其他网站就可以冒充用户,为所欲为。因为浏览器同时还规定,提交表单不受同源政策的限制。

由此可见,“同源政策”是必需的,否则 Cookie 可以共享,互联网就毫无安全可言了。

发表于 2017-11-12 13:21:05 回复(0)
同源就是ip跟域名跟端口
发表于 2022-05-24 11:07:38 回复(0)
同源策略就是端口 域名 IP都一致
发表于 2021-04-06 07:54:50 回复(0)
<p>协议,域名,端口相同</p>
发表于 2020-08-29 17:25:26 回复(0)

协议 域名 端口 相同

发表于 2020-02-29 21:53:35 回复(0)

一个网址包括协议 域名 端口号;同源策略是指三者都相同,如果有一个不用就会产生跨域问题。同源策略是为了限制不同源的document和脚本之间的相互访问,以免造成干扰和混乱。

发表于 2019-10-15 18:42:06 回复(0)

同源:协议相同,域名相同,端口相同则为同源,否则请求交跨域。

              在不同源的时,为了保护磁盘,会采用同源策略:

                     1:本地的Cookie、localStorage,IndexDB的存储的文件不能访问。

2:DOM的操作是无法进行的。DOM的操作肯定需要访问本地磁盘文件。同源策略就是保护本地的磁盘文件,防止信息泄露。

AJAX的访问是不能进行发送请求。

不同源访问则跨域,采用jsonp方式,<script>的src可以指向任何文件,直接可跨域。使用callback回调,接受数据。

       var scriptTag = document.createElement("script");

       scriptTag.tyle="text/javascript";

       scriptTag.src = "具体的接口路径+?callback=回调函数名"

发表于 2019-09-18 00:19:55 回复(0)