我想修改Sakai的已部署安装,以允许来自多个校园内媒体服务器的iframe。 iframe的一个示例是https://mediaserver.example.edu/p/player.html。在已部署的Tomcat中编辑策略文件的最简单方法是什么?
最佳答案
Antisamy是一个开源API和html扫描程序和清洁程序。 Sakai 2.9或更高版本将其用作安全套件的一部分,以保护用户免受由恶意用户创建的标记引起的XSS (Cross Site Scripting)攻击。
Sakai包括一组默认配置,这些配置已通过社区测试,并且可能会满足大多数用户的需求。其中包括低和高安全性选项(默认为高)。要强制Sakai使用低安全性设置,可以添加Sakai配置属性,如下所示(将其设置为false将默认为高安全性):
content.cleaner.default.low.security=true
高和低设置之间的主要区别是阻止未知内容的外部网站(如视频或iframe)的访问。高仅允许列出受信任站点的有限列表。低允许任何站点的内容。两者都有防止javascript相关注入(inject)攻击的广泛规则。
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" ...
关于sakai - 如何修改Sakai安装的AntiSamy策略文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24169695/