【问题标题】:Can you set the Same-Origin Policy to be more strict?你能把同源策略设置得更严格吗?
【发布时间】:2016-09-09 20:54:32
【问题描述】:

我有一种情况,用户可以为他们维护的网站的特定区域定义 CSS。他们能够将远程资源插入此文档,然后记录访问其页面的访客用户对这些资源的 IP 请求。

除了添加过滤远程 URL 的净化系统之外,有没有办法指示客户端不要发出 ANY 外部请求?我的网站在源头是 100% 自包含的,并且不发出任何外部 CDN 请求。我基本上想要它,以便阻止任何外部请求。

【问题讨论】:

    标签: html css same-origin-policy


    【解决方案1】:

    Content Security Policy可以限制站点可以包含的资源。

    例如,这将限制页面仅从其自己的域和 Google 域加载脚本

    Content-Security-Policy: script-src 'self' https://apis.google.com
    

    更多选项,包括加载样式

    • style-src 是 script-src 对应的样式表。
    • connect-src 限制您可以连接的来源(通过 XHR、WebSockets 和 EventSource)
    • frame-src 改用 child-src。
    • img-src 定义了可以加载图像的来源。
    • media-src 限制允许传送视频和音频的来源。

    【讨论】:

    • 不是一个糟糕的建议,但也不是万无一失的。这取决于浏览器是否强制执行,一个确定的“攻击者”可以轻松选择使用browser which does not support it
    • 嗯,是的,浏览器是否是安全软件取决于浏览器。如果用户使用不安全的浏览器,这是他们做出的选择。攻击者使用的浏览器有多重要?
    • 我在反逗号中使用了“攻击者”来指代任何想要破坏 OP 政策的人。一个例子:如果一个不受支持的浏览器的用户插入一个外部 CSS 表,他们看到的结果会非常好。然后,他们将完全不知道网站的整个布局对于使用支持内容安全政策的浏览器的任何访问者来说都被破坏了。
    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2016-12-07
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 2011-01-17
    • 2012-10-30
    相关资源
    最近更新 更多