我只想要加载来自我的网站,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:"
答案 0 :(得分:1)
如果您希望阻止脚本与指定的脚本分开,则需要Content Security Policy,而不是crossdomain.xml
文件。
CSP可以帮助防止XSS攻击,因为只允许授权内容执行。因此,如果恶意用户将某些脚本注入页面,则如果您的策略未指定unsafe inline
,则不会执行该脚本。
如果您需要YouTube跨域访问您的网站,则需要实施CORS。这实际上是您网页中Access-Control-Allow-Origin
标题的输出,以允许其他域绕过Same Origin Policy并访问您的内容客户端。