gpt4 book ai didi

javascript - CDN 或外部 JavaScript 文件如何在网站中运行?

转载 作者:可可西里 更新时间:2023-11-01 01:23:48 24 4
gpt4 key购买 nike

首先,我很尴尬,我不知道这一点。我知道这些东西有效,但不确定为什么。关于 CDN 和诸如 Google Analytics 或 Adsense 之类的东西,我仍然有一些不明白的地方。

如果这些脚本来自您网站域以外的域,这如何与 same origin policy 联系起来? (SOP) 和 cross-site scripting (跨站脚本)?根据我对 XSS 和 SOP 的了解,这些脚本不应该能够在您的站点中运行或与 DOM 交互。怎么给他们特权?这些特殊权限与其他因 XSS 和 SOP 导致浏览器错误的外部脚本有何区别?

简而言之,我想知道为什么允许来自另一个域的脚本运行、交互和操纵我的网站?

最佳答案

您误解了这些政策。

SOP 阻止页面(例如在框架中)与来自不同域的页面交互,或阻止读取不同域中的资源(AJAX 请求)。

在您的页面中执行来自不同域的脚本没有任何问题,只要您显式加载它。 (这就是 JSONP 的工作原理)但是,您无法阅读脚本的源代码,因为那是来自不同域的资源。

浏览器安全限制基于执行代码的页面来源,而不是特定 <script> 所在的站点来自。


请注意,包含来自不同域的 Javascript 会授予该脚本对您页面的完全访问权限;它可以发送 AJAX 请求(到您的域)并通过向其他域发送非 AJAX 请求来窃取信息。

如果您信任该域,则只包含来自不同域的脚本。

关于javascript - CDN 或外部 JavaScript 文件如何在网站中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com