首页
/ TinyMCE在ServiceNow中iframe的referrerpolicy属性丢失问题分析

TinyMCE在ServiceNow中iframe的referrerpolicy属性丢失问题分析

2025-05-14 22:49:40作者:谭伦延

问题背景

在ServiceNow平台使用TinyMCE富文本编辑器时,用户发现iframe元素的referrerpolicy属性在保存后会被自动移除。这个问题在ServiceNow Utah Patch 10b及更新版本中出现,而在较早版本如Utah Patch 9 HF1中则工作正常。

技术分析

问题本质

TinyMCE作为一款功能强大的富文本编辑器,内置了HTML内容过滤机制。这种过滤机制会默认移除一些被认为不安全或不必要的HTML属性。referrerpolicy属性被移除的情况表明,TinyMCE的默认配置中可能没有将该属性列入白名单。

版本差异

通过测试发现:

  • TinyMCE 5和6版本会移除iframe的referrerpolicy属性
  • TinyMCE 7版本已修复此问题,能够保留该属性

解决方案

对于使用较旧版本TinyMCE的系统,可以通过以下方式解决:

  1. 配置extended_valid_elements参数: 在TinyMCE初始化配置中添加referrerpolicy到允许的属性列表中,确保该属性不会被过滤。

  2. 升级到TinyMCE 7: 最新版本已原生支持referrerpolicy属性,无需额外配置。

  3. 业务规则补充: 在ServiceNow中可以通过编写业务规则,在保存后自动补充缺失的referrerpolicy属性。

实施建议

对于ServiceNow管理员:

  1. 确认当前系统使用的TinyMCE版本
  2. 如果是5或6版本,考虑联系ServiceNow支持团队请求配置调整
  3. 评估升级到支持TinyMCE 7的ServiceNow版本的可行性
  4. 短期内可使用业务规则作为临时解决方案

总结

HTML属性过滤是富文本编辑器的常见安全机制,但有时会与业务需求产生冲突。理解TinyMCE的过滤规则并合理配置,可以在保证安全性的同时满足功能需求。对于ServiceNow这样的SaaS平台,建议用户通过官方支持渠道反馈此类问题,推动平台及时更新组件版本或调整配置。

登录后查看全文
热门项目推荐
相关项目推荐