10

我在这里阅读了“ jQuery Linking vs. Download ”中的问题,但不知何故我不明白。

如果您在 上托管页面http://yourserver.com,但从中加载 jQuery 库http://ajax.googleapis.com,然后使用 jQuery 脚本中定义的函数,会发生什么情况?

在这种情况下,“同源政策”不算吗?我的意思是,你可以让 AJAX 调用回http://yourserver.com吗?
正在执行的 JavaScript 是否被视为来自yourserver.com

我的意思是,您不知道用户从某个第三方服务器(抱歉,Google)下载了什么,但在他的计算机上执行的代码仍然与他从您的服务器下载的代码一样好?

编辑:这是否意味着_如果我使用我不太了解的第 3 方的网络统计计数器,他们可能会“注入”一些代码并调用我的网络服务,就好像他们的代码是我的一部分一样?

4

3 回答 3

6

站点http://yourserver.com/的所有者应该信任它从其他服务器(在本例中为 Google 的)引用的内容。同源策略不适用于“脚本”标签。

当然,外部服务器的脚本(一旦加载)就可以访问整个 DOM:因此,如果外部内容被泄露,可能存在安全隐患。

与网络世界中的许多事情一样,它归结为信任和持续管理。

编辑

这是否意味着_如果我使用我不太了解的第 3 方的网络统计计数器,他们可能会“注入”一些代码并调用我的网络服务,就好像他们的代码是我的一部分一样?

是的。

于 2010-01-19T13:27:46.387 回答
2

回答编辑评论:是的。除非计数器包含在 iframe 标记中,否则它就像是您网站的一部分,可以调用您的网络服务、访问您的 cookie 等。

于 2010-01-19T14:48:07.417 回答
1

是的,该政策不适用于<script>标签。

如果有人能够破解 google 的脚本存储,它将影响从每个域提供的每个页面,这些页面使用 google.com 作为脚本的主机。

于 2010-01-19T13:26:33.380 回答