【问题标题】:How to block uploading executable files in to Alfresco Share?如何阻止将可执行文件上传到 Alfresco Share?
【发布时间】:2013-08-19 05:02:55
【问题描述】:

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

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

【问题讨论】:

    标签: javascript web-scraping alfresco alfresco-share


    【解决方案1】:

    在像 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 并直接将其删除。

    【讨论】:

    • 正确 - 关于基于 UI 的更改:也许,您还必须更改 Alfresco.DNDUpload 的过滤器配置(对于 HTML5 拖放上传:sharextras.org/jsdoc/share/community-head/symbols/…)我通常建议这样做两者:添加 UI 配置和策略
    • 你说得对,flash-upload.js 只是一个例子,他可能需要将他的新过滤器应用于所有客户端 javascript 库:flash-upload.js、html-upload ,js, file-upload.js 和 dnd-upload.js
    • 我尝试在 file-upload.js 和 html-upload.js 中添加过滤器。在 file-upload.js 中,我在 "defaultShowConfig: { siteId: null, ...., filter: [".exe"],..., username: null }" 部分添加了过滤器,但这没有做任何事情改变。
    • 嗨 Aneesh,也许你可以在 jsfiddle/dropbox/my.alfresco 中添加你的 js 文件,这样我就可以看到你在做什么
    • 请查看forums.alfresco.com/forum/end-user-discussions/alfresco-share/…。这是我在 file-upload.js 中所做的唯一更改。
    【解决方案2】:

    我不得不为同样的问题苦苦挣扎,最后我发现了这个 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 类型)的新文档添加到文件夹时触发上一个脚本

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2022-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 2013-02-20
      相关资源
      最近更新 更多