从TYPO3 v7升级到v8.7时,将使用新的rte_ckeditor
扩展而不是rtehtmlarea
。
在TYPO3 7中,我们使用RTE PageTSconfig过滤掉不需要的标签和属性:
RTE.default {
showButtons = bold, strong, emphasis, italic, unorderedlist, orderedlist, link, unlink, chMode
proc {
denyTags = blockquote, center, div, font, h1, h2, h3, h4, h5, h6, hr, img, nav, pre, span, strike, sub, sup, strike, u
entryHTMLparser_db = 1
entryHTMLparser_db {
removeTags < RTE.default.proc.denyTags
noAttrib = b, br, div, em, i, li, ol, p, strong, ul
tags >
tags.a.allowedAttribs = href,title,target
}
}
}
保存文本内容元素时,将删除所有标记。这可以通过使用entryHTMLparser_db = 0
禁用entryHTMLparser_db来解决。
该手册指出;CKEditor的高级内容过滤器";应使用。
现在我的问题是:
- 我还能在TYPO3 v8+中使用
entryHTMLparser_db
吗?如何 - 难道不是";高级内容过滤器";在Javascript中实现,因此可以通过将数据发布到TYPO3后端来规避?(这意味着我们失去了一道安全屏障(
TYPO3确实依赖于通过CKEditor的高级过滤进行客户端过滤,如中所述https://typo3.org/article/about-the-latest-typo3-core-security-release:
我们过去依赖CKEditor的净化逻辑,但它使用的客户端验证并不总是可信的。现在已将其清理并移到服务器端。
服务器端验证在安全发布版本11.3.2、10.4.19、9.5.29、8.7.42、7.6.53中实现(TYPO3 v8和v7版本是您必须购买的ELTS版本(。