BuildFire HTML/源码编辑器剥离<script>标签问题咨询
BuildFire编辑器剥离内联script标签的解决方案
BuildFire可视化编辑器默认内置XSS安全过滤规则,所有直接写在HTML编辑块内的<script>标签对内的内联JS代码、内联事件属性都会被主动移除,这是平台层面的默认安全策略,和代码本身逻辑正确性无关——本地运行正常的代码放到这里被剥离,就是触发了这条过滤规则。
可直接落地的解决路径如下:
- 使用平台专属的代码注入入口
不要在普通HTML/富文本编辑组件内插入脚本,找到编辑器侧边栏的自定义代码配置项(部分版本命名为Custom Code),将你的JS逻辑粘贴到「页脚脚本/页面加载脚本」输入框中保存即可。这个入口的内容不会经过富文本层的XSS过滤,会在页面DOM加载完成后正常执行。 - 仅保留外部脚本引用标签
如果你已经完成外部JS资源的白名单配置,在HTML编辑块内只写带src属性的外部脚本引入标签即可,不要在<script>和</script>标签对之间写任何内联代码,纯外部资源引用的script标签不会被过滤。
正确写法示例:<script src="你已加入白名单的JS资源访问地址"></script> - 插件开发场景走官方编译上传流程
如果你是在开发BuildFire自定义插件,直接在插件包的widget目录下的JS文件中编写业务逻辑,通过插件开发者后台上传编译后的插件包即可,走插件发布流程的代码不会经过可视化编辑器的富文本过滤层,脚本可以正常运行。
注意:不要尝试用标签大小写混淆、属性拼接、嵌套隐藏标签这类方式绕过过滤,这类非官方兼容方案会在平台安全规则更新后直接失效,严重时还可能触发平台安全风控导致应用被限制访问。
内容的提问来源于stack exchange,提问作者Marcin Marek
相关产品推荐
相关产品推荐

