首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内容-安全-策略检查器

内容-安全-策略检查器
EN

Stack Overflow用户
提问于 2020-10-31 12:46:28
回答 3查看 618关注 0票数 1

大家好,感谢阅读。我有一个Ckeditor的问题,现在我使用Content-Security-Policy,如果我删除此行,编辑器不会显示类似图像的按钮

代码语言:javascript
复制
Header always set Content-Security-Policy: "style-src 'self' www.site.com; child-src https://www.youtube.com"

现在做得好,我能做什么,你有主意吗?请帮帮我,非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2020-10-31 17:22:26

通过Header always set Content-Security-Policy:...发布CSP不是一个好主意。

  1. 这样的CSP报头将与任何内容一起发送:.js、.css、.jpeg和word always意味着它不仅将与具有'200 OK‘状态的页面一起发送,而且还将用于错误/重定向/未修改/等。
  2. 您没有管理此类报头的灵活性。如果您的网页将发布自己的内容-安全-策略标题,例如通过PHP,您将有两个粘合的header("Content-Security-Policy: default-src 'self';"标题,其后果不可预测。

在您的情况下-您不需要在管理面板中发布CSP标题(在管理面板中使用Ckeditor)。但是由于上面的第2段,你到处都有CSP报头,并且不可能将其关闭。

最好使用一些插件为您的CMS的CSP标题管理。这样的插件足够聪明,不会在管理面板和错误/重定向页面中发布CSP。

如果您不使用内容管理系统,您可以发布CSP,例如通过适当的index.php中的header() PHP函数(因为您使用的是Ahache web服务器)。

PS:如果您在站点中使用CKeditor (不在管理员中)-您需要扩展您的CSP规则以允许CKeditor脚本和样式。

更新

从评论来看,网站管理员在CKEditor的CSP上遇到了困难,但没有人说是哪个版本:4还是5。

适用于Ckeditor-4

  1. 内容安全策略(如果从cdn.ckeditor.com CDN加载):

connect-src https://pdf-converter.cke-cs.com;

form-action 'self';

img-src cdn.ckeditor.com;

script-src 'unsafe-inline' cdn.ckeditor.com;

style-src 'unsafe-inline' cdn.ckeditor.com;

* SKE-4与'nonce-value'不兼容,需要强制'unsafe-inline',因为有内联脚本的lot

适用于Ckeditor-5

  1. 内容安全策略(如果从cdn.ckeditor.com CDN加载):

connect-src https://docx-converter.cke-cs.com https://pdf-converter.cke-cs.com;

form-action 'self';

script-src 'unsafe-inline' https://cdn.ckeditor.com/ckeditor5/;

style-src 'unsafe-inline';

* SKE-5脚本与'nonce-value'兼容,因此您可以在script-src中摆脱'unsafe-inline'

如果从站点所在的服务器加载,则适用于Ckeditor-5

  1. 内容安全策略:

connect-src https://docx-converter.cke-cs.com https://pdf-converter.cke-cs.com;

form-action 'self';

script-src 'self' 'unsafe-inline';

style-src 'unsafe-inline';

PS:如果使用了"Export to “和"Export to Word”按钮,则只有才需要connect-src https://docx-converter.cke-cs.com https://pdf-converter.cke-cs.com;

票数 2
EN

Stack Overflow用户

发布于 2021-03-09 16:02:21

如果使用nonce,我会这样做

代码语言:javascript
复制
    (function(cke) {

        var _owrite = cke.dom.document.prototype.write;
        cke.dom.document.prototype.write = function(src) {
            src = src.replace(/<script/gmi, '<script nonce="' + nonceValue + '"');
            _owrite.apply(this, [src]);
        };

    })(CKEDITOR);
票数 1
EN

Stack Overflow用户

发布于 2021-01-05 15:07:25

在几次尝试将Ckeditor列入白名单之后,我在我的项目中使用了一个简单的解决方案,就是排除将使用富文本编辑器的CSP urls前缀。

在我的例子中,它是产品管理页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64618507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档