2

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

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

4

2 回答 2

3

在像 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 添加到过滤器数组中(先读出来,不知道确切的符号了)

这里有更多信息。

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

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

于 2013-08-19T08:27:48.027 回答
3

我不得不为同样的问题苦苦挣扎,最后我找到了这个Alfresco: Mime Type Blocker,由 Angel Borroy “提供”。

Alfresco 处理每一种文件格式,实际上没有开箱即用的限制来限制允许的 MIME 类型。可执行文件、数据库和任何其他可能有害的内容都可以存储在其中。

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

基本上,您定义要阻止的 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 Share 文件夹操作 Manage Aspects,Mime Type 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文件夹中。

脚本上传

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

共享文件夹的文件夹操作菜单

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

规则定义

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

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

于 2016-05-13T13:03:49.340 回答