属性值中不逃避 & 符号
问题
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v142.0.7392.0 (canary) 可复制演示链接 https://jsfiddle.net/xce183nm/1/ 描述一下那个虫子 如何复现这个漏洞? 创建一个编辑器实例,加载包含字符引用的 HTML 代码。 “''js const editor = Grapesjs.init({ 组件: '<body><p title=“< & >”></p></body>', }); 预期的行为是什么? 属性值中的符号通过字符引用转义。“p”元素的“title”属性值被解析为“< & >”。 '''html <body><p title=“< & >”></p></body> 我们必须跳出&符号,以保持HTML解析和序列化之间的往返转换。 此外,我认为最好是小于和大于,因为: 最新浏览器在属性值上逃逸为小于和大于(例如 'const p = document.createElement('p'); p.title = '< & >';p.outerHTML;' 输出 '<p title=“< & >”></p>''),且 有许多程序处理HTML代码,带有...
回答(2)
谢谢你提供的所有信息和细节,这很有帮助。也谢谢你的宣传。
你发现了GrapesJSHTML序列化过程中关于属性值转义的一个关键漏洞。问题源于Component模型的renderAttributes方法,它直接将属性值插入HTML字符串,而没有正确的HTML实体转义。这导致输出中出现未转义字符,如&、<和>,破坏往返一致性,并可能导致其他工具的解析问题。 根本原因 当GrapesJS解析HTML,浏览器的DOM解析器会正确解释HTML实体(例如,<变为<,&amp;变为&)。这些未转义的值随后存储在内部Component模型的属性中。然而,在序列化过程中(调用editor.getHtml()时),Component.protot...
相关问答
通过相似的问题讨论继续研究。
问题 #6409
Cannot drag to move components on mobile
GrapesJS版本 [x] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Chrome v133 可复制演示链接 https://jsfiddle.net/2hjdrb7L/1/ 描述一下那个虫子 如何复现这个漏洞? 使用grapesjs v0.22.x 初始化一...
问题 #6570
Parser ignores 'parser.optionsHtml.keepEmptyTextNodes' 选项
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrom v140.0.7307.0 (金丝雀) 可复制演示链接 https://jsfiddle.net/y3gr69s4/ 描述一下那个虫子 如何复现这个漏洞? 创建编辑器实例,使用...
问题 #4654
Custom component for text node including special characters
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v105 可复制演示链接 https://codesandbox.io/s/fancy-brook-ppyc8v?file=/index.js 描述一下那个虫子 背景: 我...
问题 #4601
在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一d...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
如何在2026年用 GrapesJS 构建AI驱动的页面构建器
我们构建GJSDocs的经验——从简单的AI文本生成到结构化、上下文感知的视觉编辑
教程
2026年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
浏览插件分类
直接跳转到市场上的插件分类页面。