安全 HTML 筛选器
用户可以通过多种方式在 Blackboard 中输入 HTML。例如,用户可以使用博客和讨论区中的内容编辑器,以及通过 HTML 文件上传来输入 HTML。过去,由于用户可能会输入潜在危险的标签(如脚本标签),因此引入了安全威胁。此类标签可用于在 Blackboard 中执行恶意脚本,使其他用户遭受攻击。这称为跨脚本执行,使用户可以控制其他用户浏览器。
安全 HTML 筛选器使您可以更好地控制学生可以输入的 HTML 类型,从而使用户提供的 HTML 在 Blackboard 中使用更加安全。该功能将早期的 HTML 清理程序替换为Open Web Application Security Project 的 AntiSamy API 中的开源安全库。该新的 API 可确保用户提供的 HTML 符合应用程序的规则。
Blackboard 为管理员提供了一个包含安全 HTML 规则的default-policy.xml文件。管理员可以根据其组织的风险承受级别,在 default-policy.xml 文件中定义其 Blackboard 实例上允许的 HTML 标签和属性。
如果您已自定义default-policy.xml文件,并且 Blackboard 对文件的默认版本进行了更改,则之前的 Blackboard 默认文件将重命名以指示它是旧版本。Blackboard 的新default-policy.xml文件将添加到您的策略中,并设置为您的活动策略。您将通过电子邮件收到文件更新的通知。您自己的自定义策略会保持不变。
注意
安全 HTML 仅适用于没有“添加/修改信任内容”权限(也称为“使用脚本添加/编辑信任内容”权限)的用户。具有此权限的用户可以输入无限制/受信任的 HTML,这意味着他们不会绑定到安全 HTML 规则。默认情况下,Blackboard 将此权限授予管理员、课程构建者、成绩者、教师和助教。默认情况下,所有其他角色都不具有此权限,但可以根据需要添加此权限。
在“管理员面板”上,在“安全菜单中选择安全 HTML 筛选器。
重要
无法将 Blackboard SaaS 环境配置为通过 HTML 过滤器过滤自定义文件类型。
自定义策略
管理员可以根据其组织的需求自定义 default-policy.xml 文件中允许的 HTML 标签和属性列表。但是,这应该是一个很少见的事件。仅当管理员具有策略不支持的特定使用案例时,才需要自定义该策略。
在“管理员面板”上,在“安全菜单中选择安全 HTML 筛选器。
选择内容编辑器的安全 HTML 筛选器以访问策略列表。
访问
default-policy.xml文件的菜单,然后选择下载。将该文件保存至您的计算机。对 SafeHTML 规则进行任何更改以满足组织的需求。
编辑完文件后,键入新名称。
返回到内容编辑器的安全 HTML 筛选器页面以访问策略列表。
选择上传以访问上传安全 HTML 策略页面并浏览新文件。
键入注释(可选)。
选择提交上传新文件。
新文件将显示在策略文件列表中。从文件的菜单中,选择激活以将其设为 Blackboard 环境中的活动策略文件。
测试策略
管理员可以测试策略以确保其可正常运行并生成所需的结果。
在“管理员面板”上,在“安全菜单中选择安全 HTML 筛选器。
选择安全 HTML 筛选器用于编辑器。
从策略文件的菜单中,选择测试策略。
在输入要测试的代码(HTML、JS)字段中,输入要测试的任何 HTML 代码。
选择测试。
根据输入的 HTML 代码,系统会提供测试结果,如下所示:
将出现一个新的清理输出字段,显示您输入的 HTML 的系统清理输出。
如果策略不允许您输入的脚本标记,则系统会显示一条消息,告诉您出于安全原因不允许使用您的脚本。
标记可能包含无法处理的属性。在这种情况下,将显示一条消息,指明包含无法处理且已被筛选掉的属性的标记。
HTML 正文标签和属性
default-policy.xml文件允许这些正文标签和属性。
对元素进行分组
标记 | 属性 |
|---|---|
div | id、class、lang、dir、title、style、align |
span | id、class、dir、title、style、align、xml:lang |
标题
标记 | 属性 |
|---|---|
h1 | id、class、lang、dir、title、style、align |
下半年 | id、class、lang、dir、title、style、align |
h3 | id、class、lang、dir、title、style、align |
h4 | id、class、lang、dir、title、style、align |
h5 | id、class、lang、dir、title、style、align |
h6 | id、class、lang、dir、title、style、align |
地址
标记 | 属性 |
|---|---|
地址 | id、class、lang、dir、title、style |
字体样式和 HR 标签和属性
default-policy.xml 文件附带这些字体样式和 HR 标签和属性。
标记 | 属性 |
|---|---|
tt | id、class、lang、dir、title、style |
i | id、class、lang、dir、title、style |
b | id、class、lang、dir、title、style |
big | id、class、lang、dir、title、style |
small | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
hr | id、class、lang、dir、title、style |
列出标签和属性
default-policy.xml文件附带这些列表标签和属性。
标记 | 属性 |
|---|---|
ul | id、class、lang、dir、title、style |
li | id、class、lang、dir、title、style |
ol | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
dl | id、class、lang、dir、title、style |
dt | id、class、lang、dir、title、style |
dd | id、class、lang、dir、title、style |
dir | id、class、dir、title、style、compact |
menu | id、class、lang、dir、title、style、compact |
链接标签和属性
default-policy.xml文件附带这些链接标签和属性。
标记 | 属性 |
|---|---|
a | class, dir, id, lang, name, rel, rev, style, target =_blank, title, xml: lang, accesskey, tabindex, charset, coords, href, hreflang, name, shape |
链接 |
文本标签和属性
default-policy.xml文件附带这些文本标签和属性。
标记 | 属性 |
|---|---|
em | id、class、lang、dir、title、style |
strong | id、class、lang、dir、title、style |
cite | id、class、lang、dir、title、style |
dfn | id、class、lang、dir、title、style |
code | id、class、lang、dir、title、style |
samp | id、class、lang、dir、title、style |
kbd | id、class、lang、dir、title、style |
var | id、class、lang、dir、title、style |
abbr | id、class、lang、dir、title、style |
acronym | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
blockquote | id、class、lang、dir、title、style |
q | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
sub | id、class、lang、dir、title、style |
sup | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
p | Id、class、lang、dir、title、style、align |
br | id、class、title、style、clear |
pre | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
ins | id、class、lang、dir、title、style |
del | id、class、lang、dir、title、style |
表标签和属性
default-policy.xml 文件附带这些表标签和属性。
标记 | 属性 |
|---|---|
表格 | id、border、cellpadding、cellspacing、align、class、frame、summary、lang、dir、style、bgcolor、width、rules、dir |
标记 | 属性 |
|---|---|
caption | id、lang、dir、title、style |
标记 | 属性 |
|---|---|
头 | cellhalign、cellvalign、id、class、lang、dir、title、style、align、char、charoff、valign |
tfoot | cellhalign、cellvalign、id、class、lang、dir、title、style、align、char、charoff、valign |
tbody | id、class、lang、dir、title、style、align、char、charoff、valign |
pre | id、class、lang、dir、title、style |
标记 | 属性 |
|---|---|
colgroup | span、width、id、class、lang、dir、title、style、align、char、charoff、valign |
col | span、width、id、class、lang、dir、title、style、align、char、charoff、valign |
标记 | 属性 |
|---|---|
tr | id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign |
标记 | 属性 |
|---|---|
th | abbr、axis、headers、scope、rowspan、colspan、id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign |
td | abbr、axis、headers、scope、rowspan、colspan、id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign |
嵌入媒体和混搭标签和属性
default-policy.xml文件附带这些嵌入式媒体和混搭标签和属性。
标记 | 属性 |
|---|---|
脚本 | type、charset、src |
iframe | src=以 SafeHTML 受限的 Youtube 源或构建块开头, longdesc, name, width, height, id, class, title, style, align, frameborder, marginwidth, marginheight, scrolling |
标记 | 属性 |
|---|---|
img | src、alt、longdesc、name、id、class、lang、dir、title、style、align、width、height、border、hspace、vspace |
标记 | 属性 |
|---|---|
object | classid、codebase、codetype、data、type、archive、declare、standby、id、class、lang、dir、title、style、tabindex、ame、align、width、height、border、hspace、vspace |
param | name=movie, value=(以 SafeHTML 限制的 Youtube 源或 Building Block 开头)、name = allowscriptaccess, value=true、name=allowfullscreen, value=true|false |
嵌入 | src=以 SafeHTML 受限 Youtube 源开头, allowScriptAccess=never, allowNetworking=internal, type=application/x-shockwave-flash, id, width, height, type, quality, scale, salign, wmode, base, name, align, hspace, vspace, bgcolor, sound, progress, swstretchstyle, swstretchalign, swstretchvalign |
iframe | src=以 http(s)://www.youtube.com 或 http(s)://www.youtube-nocookie.com/, longdesc, name, width, height, id, class, title, style, align, frameborder, marginwidth, marginheight, scrolling 开头 |
标记 | 属性 |
|---|---|
object | classid、codebase、codetype、data、type、archive、declare、standby、id、class、lang、dir、title、style、tabindex、ame、align、width、height、border、hspace、vspace |
param | name=movie, value=starts with http(s)://static.slidesharecdn.com/ or http(s)://www.slideshare.net/, name=allowscriptaccess, value=never, name=allowfullscreen, value=true|false, name=wmode, value=transparent |
嵌入 | src=以 http(s)://static.slidesharecdn.com/ 或 http(s)://www.slideshare.net/ 开头, allowScriptAccess=never, allowNetworking=never, wmode=transparent, type=application/x-shockwave-flash, id, width, height, type, quality, scale, salign, salign, base, name, align, hspace, vspace, bgcolor, sound, progress, autostart=false, swstretchstyle, swstretchalign, swstretchvalign |
iframe | src=以 http(s)://static.slidesharecdn.com/ 或 http(s)://www.slideshare.net/、height、width、frameborder、marginwidth、marginheight、scrolling 开头 |
标记 | 属性 | 评论 |
|---|---|---|
object | codebase、name、align、hspace、vspace、bgcolor、classid | |
param | name = allowScriptAccess、value = never、name = allowNetworking、value = none、name = autostart、value = false | 可以包含其他参数,但对于 youtube 和 slideshare 以外的其他来源,必须始终显示这些参数。 |
嵌入 | allowScriptAccess=never, allowNetworking=none, autostart=false, allowFullScreen=false, type=... see comment, wmode=window/transparent/opaque, id, class, dir, flashvars, height, lang, name, src, style, title, width, xml:lang | allowScriptAccess=never 必须始终为 Flash 提供 allowNetworking=none 必须始终为 Flash 提供 allowFullScreen=false 必须始终为 Flash 提供 “type”目前不限制为我们支持的媒体类型,但默认策略最终将限制为:
|
iframe | src=restricted list, longdesc, name, width, height, id, class, title, style, align, frameborder, marginwidth, marginheight, scrolling |