Support Content-Security-Policy
问题
为了减少在“敌对”环境中(如SaaS平台)中使用编辑器时可能的攻击面,必须支持CSP。这也能防止类似的问题 https://github.com/artf/grapesjs/issues/3082
目前,唯一阻碍有效 CSP 规则的问题是 GrapesJS 代码中使用了“new Function()”,这需要 CSP 规则为“unsafe-eval”。
有没有其他实现方式?
回答(4)
好的,那我会试着在下一个版本修复它。
嗯,我不太确定具体怎么修复,你说“GrapesJS代码中是否使用新Function()”是什么意思?因为源代码里没有这个。
后来发现它在dist文件里是因为underscore.js template()方法,它使用了“new Function()”。我认为这将使得在没有“不安全评估”的情况下替换或移除强制执行CSP的依赖变得困难。
谢谢你举报,@aimeos。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触发 保持最新: 关注GrapesJS的新发布 订阅仓库的安全通知 团队在发布周期中优先考虑安全更新
相关问答
通过相似的问题讨论继续研究。
问题 #3496
Mark Component as Dirty
你想给GrapesJS添加什么? 组件应该能够标记自己为脏,触发“onbeforeunload”警告信息。 详细描述你的功能需求详细 我有一个(自定义)文本组件,用户可以输入任意文本。我把数据存储在服务器上,我想要自动保存。不过,我不希望服务器因为每一个字符都被联系到文本组件,...
问题 #3194
How do I repurpose the Spectrum Color Picker?
我想重新利用GrapesJS中使用的色彩选择器。 我必须用颜色选择器来设置一些项目的关卡设置。这些设置可以通过GrapesJS编辑器访问。我想利用现有用于字体颜色等特性的颜色选择器。 我看到过[这篇帖子](https://github.com/artf/grapesjs/iss...
问题 #3364
FEAT:@How在容器内拖动元素时,固定容器大小,Container 将根据子拖拽元素被消耗。我们如何根据父容器自动调整子元素大小。容器不应根据子元素来消耗。应该是显示卷轴。
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可...
问题 #3245
Grapesjs-custom-code 无法<script>从 GrapesJS 0.16.30 及以上版本执行
'grapesjs-custom-code' 在 'script' 标签下运行良好,直到 GrapesJS 0.16.27 版本后,不再执行任何“script”内容。 ✔️ 编辑器初始化() 选项 : 'allowScripts: 1' ✔️ 插件导入:https://gith...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。