Skip to main content

安全 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 标签和属性列表。但是,这应该是一个很少见的事件。仅当管理员具有策略不支持的特定使用案例时,才需要自定义该策略。

  1. 在“管理员面板”上,在“安全菜单中选择安全 HTML 筛选器

  2. 选择内容编辑器的安全 HTML 筛选器以访问策略列表。

  3. 访问default-policy.xml文件的菜单,然后选择下载。将该文件保存至您的计算机。

  4. 对 SafeHTML 规则进行任何更改以满足组织的需求。

  5. 编辑完文件后,键入新名称。

  6. 返回到内容编辑器的安全 HTML 筛选器页面以访问策略列表。

  7. 选择上传以访问上传安全 HTML 策略页面并浏览新文件。

  8. 键入注释(可选)。

  9. 选择提交上传新文件。

  10. 新文件将显示在策略文件列表中。从文件的菜单中,选择激活以将其设为 Blackboard 环境中的活动策略文件。

测试策略

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

  1. 在“管理员面板”上,在“安全菜单中选择安全 HTML 筛选器

  2. 选择安全 HTML 筛选器用于编辑器

  3. 从策略文件的菜单中,选择测试策略

  4. 输入要测试的代码(HTML、JS)字段中,输入要测试的任何 HTML 代码。

  5. 选择测试

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

  • 将出现一个新的清理输出字段,显示您输入的 HTML 的系统清理输出。

  • 如果策略不允许您输入的脚本标记,则系统会显示一条消息,告诉您出于安全原因不允许使用您的脚本。

  • 标记可能包含无法处理的属性。在这种情况下,将显示一条消息,指明包含无法处理且已被筛选掉的属性的标记。

HTML 正文标签和属性

default-policy.xml文件允许这些正文标签和属性。

对元素进行分组

20. 对元素进行分组

标记

属性

div

id、class、lang、dir、title、style、align

span

id、class、dir、title、style、align、xml:lang



标题

21. 标题

标记

属性

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



地址

22. 地址

标记

属性

地址

id、class、lang、dir、title、style



字体样式和 HR 标签和属性

default-policy.xml 文件附带这些字体样式和 HR 标签和属性。

字体样式
23. 字体样式

标记

属性

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
24. HR

标记

属性

hr

id、class、lang、dir、title、style



列出标签和属性

default-policy.xml文件附带这些列表标签和属性。

无序列表、有序列表和列表项
25. 无序列表、有序列表和列表项

标记

属性

ul

id、class、lang、dir、title、style

li

id、class、lang、dir、title、style

ol

id、class、lang、dir、title、style



定义列表
26. 定义列表

标记

属性

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文件附带这些链接标签和属性。

链接
27. 链接

标记

属性

a

class, 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文件附带这些文本标签和属性。

短语元素
28. 短语元素

标记

属性

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



报价
29. 报价

标记

属性

blockquote

id、class、lang、dir、title、style

q

id、class、lang、dir、title、style



下标和上标
30. 下标和上标

标记

属性

sub

id、class、lang、dir、title、style

sup

id、class、lang、dir、title、style



行和段落
31. 行和段落

标记

属性

p

Id、class、lang、dir、title、style、align

br

id、class、title、style、clear

pre

id、class、lang、dir、title、style



标记文档更改
32. 标记文档更改

标记

属性

ins

id、class、lang、dir、title、style

del

id、class、lang、dir、title、style



表标签和属性

default-policy.xml 文件附带这些表标签和属性。

表格
33. 表格

标记

属性

表格

id、border、cellpadding、cellspacing、align、class、frame、summary、lang、dir、style、bgcolor、width、rules、dir



表格标题
34. 表格标题

标记

属性

caption

id、lang、dir、title、style



行组
35. 行组

标记

属性

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



列组
36. 列组

标记

属性

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



表行
37. 表行

标记

属性

tr

id、class、lang、dir、title、style、bgcolor、align、char、charoff、valign



表格单元格
38. 表格单元格

标记

属性

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文件附带这些嵌入式媒体和混搭标签和属性。

合作 伙伴
39. 合作 伙伴

标记

属性

脚本

type、charset、src

iframe

src=以 SafeHTML 受限的 Youtube 源或构建块开头, longdesc, name, width, height, id, class, title, style, align, frameborder, marginwidth, marginheight, scrolling



图像
40. 图像

标记

属性

img

src、alt、longdesc、name、id、class、lang、dir、title、style、align、width、height、border、hspace、vspace



优酷
41. 优酷

标记

属性

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 开头



Slideshare
42. Slideshare

标记

属性

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 开头



其他媒体类型,包括 Flash
43. 其他媒体类型,包括 Flash

标记

属性

评论

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”目前不限制为我们支持的媒体类型,但默认策略最终将限制为:

  • video/quicktime

  • application/x-shockwave-flash

  • application/x-director

  • application/x-mplayer2

iframe

src=restricted list, longdesc, name, width, height, id, class, title, style, align, frameborder, marginwidth, marginheight, scrolling