CSP& SSL内联Javascript&如何引用外部

时间:2018-06-10 11:40:39

标签: javascript java security content-security-policy

我试图围绕CSP(内容安全政策) 在我添加很多"之前"到我的网站。 我添加了以下代码,根据Youtube视频& variuos不同文档来源,但我无法理解如何解决某些问题。

    <meta http-equiv="Content-Security-Policy" 
        content=" upgrade-insecure-requests; default-src; 
                  style-src 'self' *.dmca.com *.trustlogo.com 
                             *.revolvermaps.com *.deviantart.com    
                             *.ebay.co.uk *.amazon.com
                   connect-src *ra.revolvermaps.com *.revolvermaps.com      
                                https://www.ra.revolvermaps.com/
                                https://www.revolvermaps.com
                   font-src 'self' *;
                   object-src 'self' ;
                   img-src 'self' ;
                   script-src https:www.ssl.comodo.com;></meta>

我在我的网站上有来自Comodo的SSL证书,它有两个部分,它们是用脚本标签构建的,一个是在head标签和另一个在身体的底部。 如果CSP正在运作&amp;执行其工作然后默认情况下内联脚本被禁用? Comodo建议在头部和头部使用这些脚本。身体。      不建议使用内联不安全。 这部分没问题,我在允许的脚本属性&amp;中添加了一个引用。证书正常加载,顶部有绿色挂锁。无效的部分是用于链接回该站点并显示有效证书的徽标。它完全消失了。 &安培;尝试了comodo参考的每一个组合或实例我是&#34; img-src&#34; CSP的属性我在这里发布以获取您的观点。

如何实施SSL&amp; CSP没有打破一个。 我可以吗; A)将comodo脚本放在外部.Js文件中,&amp;如果是这样,我如何在不使用内联js的情况下在HTML中引用它们。脚本标签。 B)是否有另一个来自comodo的img-src链接我错过了? C)我是否需要将它们添加到CSP的任何其他属性中,例如我不知道的孩子或对象.......

我试过(* secure.comodo.com - * .trustlogo.com - comodo_secure_seal_100x85-transp.png - https://secure.comodo.com/ - https://ssl.comodo.com - https://trustlogo.com/images/new-trustlogos/)&amp; ;这方面的许多变化....支持在这个问题上并不是很有帮助,说它不是SSL问题。

PS。 &#34; trustlogo / JavaScript的/ trustlogo.js&#34;在SCRIPT-SRC中似乎有效。 我放置双倍的地方&#34; - &#34;表示空格 为了清楚起见,SSL脚本显然正在加载,但Logo,那里链接和挂锁图像通常在悬停时显示证书不起作用/显示任何帮助将非常感谢这将使一个罗嗦的谷歌搜索请求。 ..&amp;用更少的话说,我看了。

1 个答案:

答案 0 :(得分:0)

我可以为您提供一些提示,但如果您的网站上有很多脚本,那么您需要一些时间才能获得正确的CSP。

report-uri甚至report-to添加到您的网站csp- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri

(我知道它已经弃用了report-uri但是在编写时没有浏览器支持report-to

您需要在服务器上实施某些路由以将此报告或注册缓存到某些第三方服务)

根据我的经验,报告并不难理解,但是一旦你设置了它,你的CSP阻塞某些东西就容易多了。现在它可能只是你没有正确配置的东西,但是在你正确配置CSP之后,了解你的网站上什么东西被阻止并了解它是如何成为非常重要的首先注入。

与Comdo一样,您提及的js代码与您的网站实际ssl无关,只是comodo在您的网站上宣传自己。如果您仍想拥有自己的徽标以及其他任何内容,可以将脚本移动到外部js文件中而不会出现问题。

JS最佳实践建议将脚本放在body标记的末尾(主要是出于性能原因)将脚本标记放在body标记的末尾的可能性很小,但是我会先尝试一下并且只有当它由于某种原因而无法工作时我才会将其移到页面的头部