为什么TYPO3在SVG渲染过程中会清空style属性的取值?
问题原因
- 核心触发点是TYPO3 v10默认启用的SVG安全清理机制:该机制为了防范SVG文件携带的XSS攻击风险,会默认清理不在白名单内的内联样式、脚本、特殊标签。Inkscape导出的复杂SVG自带的大量自定义
style属性内容,默认不在系统预置的白名单范围内,因此会被直接清空,仅保留空的style=""属性。 - 只有前端渲染流程会触发该清理逻辑:你上传到
fileadmin目录的原始SVG文件不会被修改,所以直接访问下载路径可以得到完整文件、后台缩略图生成逻辑也不会触发该清理规则,只有前端内容元素渲染输出SVG代码时会走安全过滤流程,导致样式丢失。 - 如果你安装了额外的安全类、图像处理类第三方扩展,也可能叠加额外的SVG过滤规则,进一步扩大清理范围。
内容的提问来源于stack exchange,提问作者knb
相关产品推荐
相关产品推荐

