如何修改Sakai安装的AntiSamy策略文件?

时间:2014-06-11 18:08:38

标签: sakai antisamy

我想修改Sakai的已部署安装,以允许来自多个校园媒体服务器的iframe。 iframe的示例是https://mediaserver.example.edu/p/player.html。在已部署的Tomcat中编辑策略文件的最简单方法是什么?

1 个答案:

答案 0 :(得分:5)

Antisamy是一个开源API和html扫描程序和清理程序。 Sakai 2.9或更高版本将此作为其安全套件的一部分,以保护用户免受恶意用户创建的标记造成的XSS (Cross Site Scripting)攻击。

Sakai包含一组默认配置,这些配置经过社区测试,可能满足大多数用户的需求。其中包括低安全性和高安全性选项(默认为高)。要强制Sakai使用低安全性设置,您可以添加Sakai配置属性,如下所示(将此设置为false将默认为高安全性):

content.cleaner.default.low.security=true

高和低设置之间的主要区别是阻止外部内容(如vidoes或iframe)的未知网站。高仅允许受限制的受信任站点列表。低允许来自任何网站的内容。两者都有广泛的规则来防止与javascript相关的注入攻击。

Antisamy配置文件是基于XML的(有关详细信息,请参阅Antisamy developer guide)。标准的高和低安全性文件位于Sakai源代码“kernel / sakai-kernel-impl / src / main / resources / antisamy /”下。这些可以用作本地定制版本的基础。要覆盖包含的文件,只需将自定义版本放在Sakai主目录中(通常为TOMCAT_HOME / sakai),例如:

${sakai.home}/antisamy/high-security-policy.xml
${sakai.home}/antisamy/low-security-policy.xml

对于您的特定用例,您可能会修改以下部分(靠近xml文件的顶部),如注释中所示:

<!-- SAKAI customized trusted sites listing:
    This is where we specify what Flash/embed/iframe src to allow 
    To add a new host/site to this list:
    Find this in the flashSites below: ...(download\.macromedia\.com/pub|... 
    Add in your site (e.g. "new.site.host.com/path": with escaped ".": "new\.site\.host\.com/path|"
    Like shown here: (new\.site\.host\.com/path|download\.macromedia\.com/pub|
-->
<regexp name="flashSites" ...