【发布时间】:2013-08-19 05:02:55
【问题描述】:
如何在 Alfresco Share 上传过程中阻止上传 .exe 和 .msi 等可执行文件?
我不想让可执行文件上传到 Alfresco Share。 谷歌搜索后,我得到了一个解决方案来创建一个规则,该规则在上传后删除可执行文件。但这对我来说还不够。 我需要在上传时阻止它。
【问题讨论】:
标签: javascript web-scraping alfresco alfresco-share
如何在 Alfresco Share 上传过程中阻止上传 .exe 和 .msi 等可执行文件?
我不想让可执行文件上传到 Alfresco Share。 谷歌搜索后,我得到了一个解决方案来创建一个规则,该规则在上传后删除可执行文件。但这对我来说还不够。 我需要在上传时阻止它。
【问题讨论】:
标签: javascript web-scraping alfresco alfresco-share
在像 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 策略上触发的 Java 行为。检查添加的内容的 mimetype 并直接将其删除。
【讨论】:
我不得不为同样的问题苦苦挣扎,最后我发现了这个 Alfresco: Mime Type Blocker 由 Angel Borroy 亲切地“提供”。
Alfresco 处理所有文件格式,实际上没有限制 框以限制允许的 MIME 类型。可执行文件, 可以存储数据库和任何其他可能有害的内容 里面。
这个插件提供了一个 Alfresco 扩展来定义一个黑色的 mime 类型 在 alfresco-global.properties 和一方面 Mime Type 中列出 Restrictable 定义哪些文件夹应应用此限制。
基本上你在alfresco-global.properties文件中正确设置一个变量来定义mime类型的黑名单被阻止:
## 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 类型限制方面可以应用于所需的文件夹。
这样您就可以决定将这条规则应用到哪个文件夹。
编辑 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 类型)的新文档添加到文件夹时触发上一个脚本
与上一个解决方案相比,此解决方案的优点是该规则也可以应用于子文件夹,只需选中复选框选项,而方面必须应用于每个文件夹。
用户在上传文档时会立即收到警告,表明该文件尚未添加到存储库中,无论他使用哪种上传策略。
【讨论】: