【问题标题】:Cross Domain policy allow Youtube跨域政策允许 Youtube
【发布时间】:2023-03-30 08:09:02
【问题描述】:

我只希望加载来自我的站点、youtube 和 addthis 的脚本,不允许其他任何内容。这是我的 crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="my website url"/>
    <allow-access-from domain="www.youtube.com"/>
    <allow-access-from domain="ct1.addthis.com"/>
</cross-domain-policy>

谁能告诉我哪里出了问题或者如何验证我的网站是否使用了 crossdomain.xml 文件?

亲切的问候, 哈利

编辑:

 <IfModule mod_headers.c>
    Header set X-Content-Security-Policy: "allow 'self'; options inline-script; img-src 'self' data:" 

    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
        Header unset Content-Security-Policy
    </FilesMatch>
 </IfModule>

我在哪里添加https://www.youtube.com 以允许播放我的嵌入视频?这是堆栈跟踪,尽管我怀疑它是否很有帮助。

Error in event handler for (unknown): Blocked a frame with origin "https://www.youtube.com" from accessing a cross-origin frame.
Stack trace: Error: Blocked a frame with origin "https://www.youtube.com" from accessing a cross-origin frame.
    at Error (native)
    at setupffoverrides (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:151:86)
    at checkgenpwfillforms (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:152:33)
    at receiveBG (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:130:210)
    at Function.target.(anonymous function) (extensions::SafeBuiltins:19:14)
    at EventImpl.dispatchToListener (extensions::event_bindings:395:22)
    at Function.target.(anonymous function) (extensions::SafeBuiltins:19:14)
    at Event.publicClass.(anonymous function) [as dispatchToListener] (extensions::utils:65:26)
    at EventImpl.dispatch_ (extensions::event_bindings:378:35)
    at EventImpl.dispatch (extensions::event_bindings:401:17) 

编辑 2:

我已将其更改为以下内容,但仍然得到相同的跟踪。

    Header set X-Content-Security-Policy: "allow 'self' https://www.youtube.com; options inline-script; img-src 'self' data:" 

【问题讨论】:

    标签: apache security centos xss content-security-policy


    【解决方案1】:

    如果您想阻止加载指定脚本之外的脚本,您需要Content Security Policy,而不是crossdomain.xml 文件。

    CSP 可以帮助防止XSS 攻击,因为只允许执行授权内容。因此,如果恶意用户将某些脚本注入页面,如果您的策略未指定 unsafe inline,则该脚本将不会执行。

    编辑后更新

    如果您需要YouTube跨域访问您的网站,那么您需要实现CORS。这实际上是您页面中 Access-Control-Allow-Origin 标头的输出,以允许其他域绕过 Same Origin Policy 并访问您的内容客户端。

    【讨论】:

    • 谢谢,我已经更新了原帖,有什么反馈吗?
    • 你好,没想到你回复这么快,所以我编辑到一半了!
    猜你喜欢
    • 2015-02-06
    • 2021-11-07
    • 2012-10-31
    • 2012-06-28
    • 2013-10-29
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    相关资源
    最近更新 更多