如何在Alfresco Share上传过程中阻止上传.exe和.msi文件等可执行文件?
我不想允许将可执行文件上传到Alfresco Share。 谷歌搜索后我得到一个解决方案来创建一个规则,删除上传后的可执行文件。但这对我来说还不够。 我需要在上传时阻止它。
答案 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
文件夹。
要在文件夹上设置规则(如果需要,还要在子文件夹上设置),选择所需的文件夹,然后在文件夹操作菜单上选择管理规则
之后创建一个规则,当具有特定mime类型(或多个mime类型)的新文档添加到文件夹时触发上一个脚本
与前一个解决方案相比,此解决方案的优势在于,此规则也可以应用于子文件夹,只需选中复选框选项,而方面必须应用于每个单个文件夹。
用户在上传文档时会立即收到警告,说明该文件尚未添加到存储库中,无论他使用哪种上传策略。
答案 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并直接删除。