如何阻止上传可执行文件到Alfresco Share?

时间:2013-08-19 05:02:55

标签: javascript web-scraping alfresco alfresco-share

如何在Alfresco Share上传过程中阻止上传.exe和.msi文件等可执行文件?

我不想允许将可执行文件上传到Alfresco Share。 谷歌搜索后我得到一个解决方案来创建一个规则,删除上传后的可执行文件。但这对我来说还不够。 我需要在上传时阻止它。

2 个答案:

答案 0 :(得分:3)

我不得不为同样的问题而斗争,最后我发现这个Alfresco: Mime Type Blocker由Angel Borroy亲切地“提供”。

  

Alfresco处理每种文件格式,实际上没有限制   该框用于限制允许的MIME类型。可执行文件,   可以存储数据库和任何其他可能有害的内容   内部。

     

这个插件提供了一个Alfresco扩展来定义一个mime类型的黑色   列表在alfresco-global.properties和一个方面Mime Type   限制定义哪些文件夹应适用此限制。

基本上,您要定义要阻止的mime类型的黑名单,正确设置alfresco-global.properties文件中的变量:

## Samples
## STARTS WITH video = video*
##   ENDS WITH xml   = *xml 
##    CONTAINS pdf   = *pdf*
##    EXACTLY ONE    = application/octet-stream
## MANY (use pipes)  = application/octet-stream|application/zip|video*
mimetypes.restricted.expression=video*

然后

  

使用默认的Alfresco共享文件夹操作Manage Aspects,Mime   类型Restrictable aspect可以应用于所需的文件夹。

因此您可以决定应用此规则的文件夹。

编辑2016-05-27

我还发现并替代了这种基于规则用法的方法:

首先创建一个简单的javascript webscript,说block-document.js抛出异常:

function main()
{
    var name = document.name;
    var siteName = document.siteShortName;
    var parent = document.parent;
    throw "Unsupported file format";
}
main();

然后使用Alfresco Share将其上传到Repository>Data Dictionary>Scripts文件夹。

script upload

要在文件夹上设置规则(如果需要,还要在子文件夹上设置),选择所需的文件夹,然后在文件夹操作菜单上选择管理规则

Share folder's Folder Action menu

之后创建一个规则,当具有特定mime类型(或多个mime类型)的新文档添加到文件夹时触发上一个脚本

Rule definition

与前一个解决方案相比,此解决方案的优势在于,此规则也可以应用于子文件夹,只需选中复选框选项,而方面必须应用于每个单个文件夹。

用户在上传文档时会立即收到警告,说明该文件尚未添加到存储库中,无论他使用哪种上传策略。

答案 1 :(得分:2)

在像flash-upload.js这样的客户端upload.js中有一个 setFileFilters 方法,该方法从 this.showConfig.filter 和对象中读取本身。

文件中的描述:

*    filter: {array},         // limits what kind of files the user can select in the OS file selector

我使用过此方法,因此客户端可以在动作上传新版本上传其他类型。

将.exe添加到过滤器数组中(先读出来,不知道确切的符号)

还有一些信息here

但这仍然不能完全阻止用户上传可执行文件。他们仍然可以在查询中使用*,或者他们使用拖放或webdav / cifs或其他客户端。

如果您完全想要禁用它,只需创建一个在onCreateNode Policy上触发的Java Behavior。检查添加内容的mimetype并直接删除。