用户可以通过各种方式在 Blackboard Learn 中输入 HTML。例如,用户可以使用博客和讨论区中的内容编辑器,以及通过 HTML 文件上传来输入 HTML。过去,由于用户可能会输入潜在危险的标记(如脚本标记),因此引入了安全威胁。此类标记可用于在 Blackboard Learn 中执行恶意脚本,致使其他用户受到攻击。这称为跨脚本执行,使用户可以控制其他用户浏览器。

安全 HTML 筛选器使您可以更好地控制学生可以输入的 HTML 类型,使用户提供的 HTML 可以更安全地在 Blackboard Learn 中使用。该功能将早期的 HTML 杀毒软件替换为开放 Web 应用程序安全性项目的 AntiSamy API 提供的开源安全库。该新的 API 可确保用户提供的 HTML 符合应用程序的规则。

Blackboard Learn 为管理员提供包含安全 HTML 规则的 default-policy.xml 文件。管理员可以基于其组织的风险容限级别,在 default-policy.xml 文件中定义其 Blackboard Learn 实例上允许的 HTML 标记和属性。

如果您自定义了 default-policy.xml 文件,并且 Blackboard 对文件的默认版本进行了更改,则会重命名以前的 Blackboard 默认文件以指示它是旧版本。Blackboard 提供的新 default-policy.xml 文件将添加到您的策略中,并设置为您的活动策略。您将通过电子邮件收到文件更新的通知。您自己的自定义策略会保持不变。

安全 HTML 仅适用于没有“添加/修改信任内容”权限(也称为“使用脚本添加/编辑信任内容”权限)的用户。具有此权限的用户可以输入无限制/受信任的 HTML,这意味着他们不会绑定到安全 HTML 规则。默认情况下,Blackboard Learn 将此权限授予管理员、课程内容构建者、评分者、教师和助教。默认情况下,所有其他角色都不具有此权限,但可以根据需要添加此权限。

管理员面板上,选择安全菜单中的安全 HTML 筛选器

Blackboard Learn SaaS 环境不能配置为通过 HTML 筛选器筛选自定义文件类型。


自定义策略

管理员可以根据其组织的需求,在 default-policy.xml 文件中自定义容许的 HTML 标记和属性的列表。但是,这应该是一个很少见的事件。仅当管理员具有策略不支持的特定使用案例时,才需要自定义该策略。

  1. 管理员面板上,选择安全菜单中的安全 HTML 筛选器
  2. 选择内容编辑器的安全 HTML 筛选器以访问策略列表。
  3. 访问 default-policy.xml 的菜单,然后选择下载。将该文件保存至您的计算机。
  4. 对 SafeHTML 规则进行任何更改以满足组织的需求。
  5. 编辑完文件后,键入新名称。
  6. 返回到内容编辑器的安全 HTML 筛选器页面以访问策略列表。
  7. 选择上传以访问上传安全 HTML 策略页面,然后浏览查找您的新文件。
  8. 键入注释(可选)。
  9. 选择提交以上传新文件。
  10. 新文件将显示在策略文件列表中。从文件的菜单中,选择激活将其设为 Blackboard Learn 环境中的活动策略文件。

测试策略

管理员可以测试策略以确保其可正常运行并生成所需的结果。

  1. 管理员面板上,选择安全菜单中的安全 HTML 筛选器
  2. 选择内容编辑器的安全 HTML 筛选器
  3. 从策略文件的菜单中,选择测试策略
  4. 输入要测试的代码 (HTML、JS)字段中,输入要测试的任意 HTML 代码。
  5. 选择测试

根据输入的 HTML 代码,系统会提供测试结果,如下所示:

  • 将显示一个新的净化的输出字段,其中会显示您输入的 HTML 的系统净化输出。
  • 如果策略不允许您输入的脚本标记,则系统会显示一条消息,告诉您出于安全原因不允许使用您的脚本。
  • 标记可能包含无法处理的属性。在这种情况下,将显示一条消息,指明包含无法处理且已被筛选掉的属性的标记。

HTML 正文标记和属性

default-policy.xml 文件允许以下正文标记和属性。

分组元素

HTML 正文标记和属性
标记属性
divid、class、lang、dir、title、style、align
spanid、class、dir、title、style、align、xml:lang

标题

标题
标记属性
h1id、class、lang、dir、title、style、align
下半年id、class、lang、dir、title、style、align
h3id、class、lang、dir、title、style、align
h4id、class、lang、dir、title、style、align
h5id、class、lang、dir、title、style、align
h6id、class、lang、dir、title、style、align

地址

地址
标记属性
地址id、class、lang、dir、title、style

字形以及 HR 标记和属性

default-policy.xml 文件随附有以下字形以及 HR 标记和属性。

字形

字形以及 HR 标记和属性
标记属性
ttid、class、lang、dir、title、style
iid、class、lang、dir、title、style
bid、class、lang、dir、title、style
bigid、class、lang、dir、title、style
smallid、class、lang、dir、title、style

HR

HR
标记属性
hrid、class、lang、dir、title、style

列表标记和属性

default-policy.xml 文件随附有以下列表标记和属性。

无序列表、有序列表和列表项目

列表标记和属性
标记属性
ulid、class、lang、dir、title、style
liid、class、lang、dir、title、style
olid、class、lang、dir、title、style

定义列表

定义列表
标记属性
dlid、class、lang、dir、title、style
dtid、class、lang、dir、title、style
ddid、class、lang、dir、title、style
dirid、class、dir、title、style、compact
menuid、class、lang、dir、title、style、compact

链接标记和属性

default-policy.xml 文件随附有以下链接标记和属性。

链接

链接标记和属性
标记属性
aclass、dir、id、lang、name、rel、rev、style、target = _blank、title、xml:lang、accesskey、tabindex、charset、coords、href、hreflang、name、shape
链接请参见 http://www.w3schools.com/tags/tag_link.asp

文本标记和属性

default-policy.xml 文件随附有以下文本标记和属性。

短语元素

文本标记和属性
标记属性
emid、class、lang、dir、title、style
strongid、class、lang、dir、title、style
citeid、class、lang、dir、title、style
dfnid、class、lang、dir、title、style
codeid、class、lang、dir、title、style
sampid、class、lang、dir、title、style
kbdid、class、lang、dir、title、style
varid、class、lang、dir、title、style
abbrid、class、lang、dir、title、style
acronymid、class、lang、dir、title、style

引用

引用标记和属性
标记属性
blockquoteid、class、lang、dir、title、style
qid、class、lang、dir、title、style

下标和上标

下标和上标标记和属性
标记属性
subid、class、lang、dir、title、style
supid、class、lang、dir、title、style

行和段落

行和段落标记和属性
标记属性
pId、class、lang、dir、title、style、align
brid、class、title、style、clear
preid、class、lang、dir、title、style

标记文档更改

标记文档更改标记和属性
标记属性
insid、class、lang、dir、title、style
delid、class、lang、dir、title、style

表格标记和属性

default-policy.xml 文件随附有以下表格标记和属性。

表格

表格标记和属性
标记属性
tableid、border、cellpadding、cellspacing、align、class、frame、summary、lang、dir、style、bgcolor、width、rules、dir

表格标题

表格标题标记和属性
标记属性
captionid、lang、dir、title、style

行组

行组标记和属性
标记属性
threadcellhalign、cellvalign、id、class、lang、dir、title、style、align、char、charoff、valign
tfootcellhalign、cellvalign、id、class、lang、dir、title、style、align、char、charoff、valign
tbodyid、class、lang、dir、title、style、align、char、charoff、valign
preid、class、lang、dir、title、style

列组

列组标记和属性
标记属性
colgroupspan、width、id、class、lang、dir、title、style、align、char、charoff、valign
colspan、width、id、class、lang、dir、title、style、align、char、charoff、valign

表格行

表格行标记和属性
标记属性
trid、class、lang、dir、title、style、bgcolor、align、char、charoff、valign

表格单元格

表格单元格标记和属性
标记属性
thabbr、axis、headers、scope、rowspan、colspan、id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign
tdabbr、axis、headers、scope、rowspan、colspan、id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign

嵌入式媒体和聚合标记和属性

default-policy.xml 文件随附有以下嵌入式媒体和聚合标记和属性。

合作伙伴

嵌入式媒体和聚合标记和属性
标记属性
scripttype、charset、src
iframesrc=(以 SafeHTML 限制的 Youtube 源或 Building Block 开头)、longdesc、name、width、height、id、class、title、style、align、frameborder、marginwidth、marginheight、scrolling

图像

图像标记和属性
标记属性
imgsrc、alt、longdesc、name、id、class、lang、dir、title、style、align、width、height、border、hspace、vspace

YouTube

YouTube 标记和属性
标记属性
objectclassid、codebase、codetype、data、type、archive、declare、standby、id、class、lang、dir、title、style、tabindex、ame、align、width、height、border、hspace、vspace
paramname=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
iframesrc=(以 http(s)://www.youtube.com 或 http(s)://www.youtube-nocookie.com/ 开头)、longdesc、name、width、height、id、class、title、style、align、frameborder、marginwidth、marginheight、scrolling

Slideshare

Slideshare 标记和属性
标记属性
objectclassid、codebase、codetype、data、type、archive、declare、standby、id、class、lang、dir、title、style、tabindex、ame、align、width、height、border、hspace、vspace
paramname=movie, value=(以 http(s)://static.slidesharecdn.com/ 或 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、base、name、align、hspace、vspace、bgcolor、sound、progress、autostart=false、swstretchstyle、swstretchalign、swstretchvalign
iframeSrc=(以=(以 http(s)://static.slidesharecdn.com/ 或 http(s)://www.slideshare.net/ 开头)、height、width、frameborder、marginwidth、marginheight、scrolling

其他媒体类型(包括 Flash)

其他媒体类型标记和属性
标记属性评论
objectcodebase、name、align、hspace、vspace、bgcolor、classid 
paramname = 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”目前不限制为我们支持的媒体类型,但默认策略最终将限制为:

  • video/quicktime
  • application/x-shockwave-flash
  • application/x-director
  • application/x-mplayer2
iframesrc=限制的列表、longdesc、name、width、height、id、class、title、style、align、frameborder、marginwidth、marginheight、scrolling