apache - 跨域策略允许 Youtube

标签 apache security centos xss content-security-policy

我只想加载来 self 的站点、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:" 

最佳答案

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

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

编辑后更新

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

关于apache - 跨域策略允许 Youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034900/

相关文章:

apache - 当 URL 包含百分号 % 符号时如何停止错误 400? ( Apache )

python - CherryPy:创建在 apache2 后面运行的 Web 服务 (mod_wsgi)

php - 通过 php 或 apache 禁止用户 ip

sql-server - 是否有可能获得与语言无关的 "NT AUTHORITY\NETWORK SERVICE"用户?

在centos上配置mesos时出现Python错误

javascript - 如何在我的 javascript 文件和 php 文件之间创建桥接代码以保护 MySQL 信息?

使用放心的多个 GET 请求进行 Java 休息测试

java - PreparedStatement IN 子句替代方案?

shell - AWS CLI S3 Sync 排除在脚本中不起作用,直接在终端中起作用

installation - 在 Centos PHP7 上安装 APC