【问题标题】:What's the origin of an embedded script?嵌入式脚本的起源是什么?
【发布时间】:2015-02-15 15:23:22
【问题描述】:

假设我将 B 站点的一段 JavaScript 嵌入到 A 站点的页面中。 B 脚本的来源是否更改为 A?

添加 1

引用一些官方文档:

来自RFC 6454 - The Web Origin Concept

3.1 信任

同源策略通过 URI 指定信任。例如,HTML 文档指定使用 URI 运行哪个脚本:

<script> src="https://example.com/library.js"></script>

当用户代理 处理这个元素,用户代理将在 指定 URI 并以 文档。通过这种方式,文档授予它拥有的所有权限 到由 URI 指定的资源。本质上,文档 声明它信任从 那个 URI.

另一个例子也来自RFC 6454 - The Web Origin Concept

例如,考虑 HTML 文档中的跨站点脚本。如果 攻击者可以将脚本内容注入 HTML 文档,那些 脚本将以文档来源的权限运行,也许 允许脚本访问敏感信息,例如 用户的医疗记录。

【问题讨论】:

    标签: security web cors xss


    【解决方案1】:

    脚本使用嵌入框架的原点运行,而不是加载它们的原点。如果您从其他站点加载脚本,例如

    <script src="http://example.com/example.js"></script>
    

    该脚本的行为与您从自己的站点加载它或将其嵌入内联时完全相同。它没有相对于加载它的站点的特殊权限。

    【讨论】:

    • 加1表示It has no special permissions relative to the site it was loaded from.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2011-10-09
    • 2016-06-11
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多