HTML 格式限制

富文本字段支持的 HTML

自 iTop 2.3.0 起,某些字段(例如案例日志条目和工单的描述)支持富文本格式。

此格式使用 HTML 标记实现。这对于在浏览器中显示、在线所见即所得编辑以及从 HTML 邮件导入很方便。

然而,在基于 Web 的应用程序中插入任何类型的 HTML 标记是不可接受的,因为它为各种恶意注入打开了大门。因此,HTML 标记在记录到 iTop 数据库之前总是经过清理过程。此清理基于 HTML 标签名、属性和样式的白名单

  • 任何不在标签白名单中的标签都会被完全移除(包括子标签)
  • 任何不在属性白名单中的属性(对于考虑的标签)都会被移除
  • 任何不在样式白名单中的样式都会被移除
  • 最后,唯一接受的 URL 方案(在 href 和 src 属性中)是:http:、https:、mailto: 和 data:。

标签和属性白名单

以下标签在清理要存储在 iTop 中的 HTML 时被保留。对于每个标签,下表列出了允许的属性。

HTML 标签允许的属性
ahref、name、style、target、title
b
big
blockquotestyle
body
br
caption
center
cite
code
codestyle
del
divstyle
em
fieldsetstyle
fontface、color、style、size
h1style
h2style
h3style
h4style
hrstyle
html
i
imgsrc、style、alt、title
ins
kbd
legendstyle
listyle、value
navstyle
olreversed、start、style、type
pstyle
pre
q
s
samp
sectionstyle
small
spanstyle
strong
tablestyle、width、summary、align、border、cellpadding、cellspacing
tbodystyle
tdstyle、colspan
thstyle
theadstyle
trstyle
tt
u
ulstyle
var

样式白名单

以下样式是允许在 style 属性内使用的唯一项(对于允许 style 的标签):

background-colorborderborder-collapsebordercolorcellpaddingcellspacingcolorfloatfontfont-familyfont-sizefont-styleheightmarginpaddingtext-alignvertical-alignwidthwhite-space

禁用清理器

  • HTMLDOMSanitizer:默认
  • HTMLPurifierSanitizer:???
  • HTMLNullSanitizer:完全不清理
'html_sanitizer' => 'HTMLNullSanitizer',

原文:https://www.itophub.io/wiki/page?id=3_2_0:admin:rich_text_limitations

2024/09/10 10:25 by127.0.0.1

版本:3_2_0/admin/rich_text_limitations.txt · Last modified: 2024/09/10 10:25 by 127.0.0.1