Javascript同源安全问题

时间:2009-07-28 08:37:19

标签: javascript html security

我学习了相同来源的Javascript概念,这意味着Javascript代码只能访问从中下载的主机。

我的困惑是,我开发了Javascript代码,将代码本地存储到.js文件中,并从另一个本地html文件调用Javascript代码。当我使用IE打开本地html文件时,我发现Javascript可以访问任何主机,例如Google和Bing。

这是我的代码。我的困惑是,似乎Javascript相同的原始安全限制不适用于本地运行的Javascript?

Javascript XMLHttpRequest issue

提前谢谢, 乔治

2 个答案:

答案 0 :(得分:2)

相同的源策略意味着可以对加载和执行js的同一域进行xmlhttp请求,所有浏览器都会强制执行xmlhttp请求,如果你正在开发ajax代码,那么执行它是没有意义的。来自与您加载页面的域不同的域。

IE从本地文件中对SOP做了一些例外,但这些都是边缘情况,你不应该为它们烦恼。

答案 1 :(得分:1)

当您说“访问任何主机”时,您的意思是什么?

您的意思是您收到代码何时在Google上加载网址的通知,或者您是否可以询问加载网页的HTML DOM。

我非常怀疑你能做到这一点。我记得从经验中做到这一点(不久前的想法),接收一个页面加载的通知应该是可能的 - 只是你根本看不到或修改该页面上的任何内容。