Sitefinity 10.1.6500.x 中的 RADEditor 在保存时删除了 mailto 链接

RADEditor in Sitefinity 10.1.6500.x removes mailto links upon save

在 Sitefinity 10.1.65xx.x(包括 10.1.6523.0)中,RADEditor 在您保存动态内容时会从动态内容中删除 mailto: links。

重现问题的步骤如下:

  1. 使用 Sitefinity Project Manager 为 Sitefinity 10.1.6500.0 or 10.1.6502.0 or 10.1.6523.0.
  2. 创建一个新项目
  3. 登录到后端 GUI 并转到 Content > News 并创建一个新新闻 post。
  4. 键入一些文本并 select 它并选择 Insert Link 按钮。
  5. 选择 link 的类型为 Email Link 并在那里提供一些电子邮件地址并插入它。
  6. 如果您现在切换到 HTML 视图,您可以看到标签类似于 <a href="mailto:<whatever-email-given>">Text</a>
  7. 单击 Save as Draft 按钮。

您应该看到内容已更改为 <a>Text</a>。本质上 mailto: 被剥离了。

正常 links 工作得很好。这发生在所有动态内容类型中,如 NewsBlog 等。Content Block 小部件没有此问题.

这是怎么回事?有人可以澄清一下吗?

我们在 Sitefinity 的论坛上提出了这个问题,结果是这样的:

http://www.sitefinity.com/developer-network/forums/general-discussions-/radeditor-in-sitefinity-10-1-6500-x-removes-mailto-links-upon-save#HlbQHcE3622pWP8AAERlJg

显然,在 10.1.xxxx.x 的 Sitefinity 中引入了一个新的 数据处理框架 层,它破坏了 Sitefinity 自身的功能。我不知道为什么大多数人无法重现这个问题。但解决方案涉及扩展默认的 XSS Sanitizer 并将 tel:mailto: 协议添加到默认白名单。答案在这里详细描述:https://knowledgebase.progress.com/articles/Article/Shared-Content-Block-and-Long-Text-Field-filters-HTML-even-after-setting-RadEditor-filters-to-None