青阳社吧 关注:168贴子:608
  • 10回复贴,共1

【新闻】kiftd新版本:1.0.15正式发布!

只看楼主收藏回复

本次更新是2019年春节后的首次功能性更新,增加了用户一直期待的Word预览功能,同时修正了“上传”权限中“覆盖”操作可能导致的越权问题。推荐所有用户升级体验!
具体内容如下。


IP属地:河北1楼2019-02-25 14:16回复
    首先介绍的是本次更新最为核心的内容:Word文档在线预览
    实际上,Word文档在线预览功能从v1.0.2版本便已列入计划,然而该功能在实现上存在着诸多挑战。首先最大的挑战便是解析工具的选择,首先,由于kiftd需要确保用户能够将其用作商业目的,因此该解析技术也必须是开源且允许免费商业运用的;其次,为了保证跨平台性,该解析技术本身也需要是跨平台的,最理想的状态是由纯Java实现;最后,为了保证用户体验舒适,该技术应该能够达到较好的Word版本兼容性。在很长时间内,kiftd都在反复寻找和试验各种已知的Word解析技术,并从中甄选出符合上述全部要求的真命天子。


    IP属地:河北2楼2019-02-25 14:23
    回复
      2025-08-30 23:38:08
      广告
      不感兴趣
      开通SVIP免广告
      经过不断的探索,这一愿望终于初步达成:基于docx格式的Word文档在线预览功能随v1.0.15版本正式发布。
      kiftd内置Word解析预览模块:纯Java实现(因此也跨平台)、可免费商业运用、兼容绝大多数Word版式。
      具体效果展示:
      (打开中)

      (打开后)


      IP属地:河北3楼2019-02-25 14:31
      回复
        虽然Word文档预览功能以初步达成,但它距离Microsoft Word展示的效果仍有差距。其中最大的问题便是字体缺失问题——由于Microsoft Word自带字体较多,且大多数字体不允许复制到其他操作系统或者用于商业目的,因此kiftd的预览功能也只能读取操作系统内置的字体进行解析显示——这就导致了在Linux和Mac OS X上,有些字体无法获取,进而导致文档中的部分内容无法显示。当然,kiftd对此采取了折中的补救措施,其内置了开源字体“文泉驿黑体”用于显示那些无法获得字体的文本。同时,如果用户需要让kiftd能够识别更多字体,还可以将字体文件复制到fonts文件夹内,从而实现在非Windows系统运行时正确显示Windows字体。
        不过需要注意的是,并非所有Windows内置字体都允许拷贝和商业化(这也是kiftd无法内置它们的原因)。如果您需要将kiftd用于商业目的,请慎重拷贝Windows内的字体文件,避免侵权。


        IP属地:河北4楼2019-02-25 14:52
        回复
          另一项更新内容则是关于权限和文件安全的:修复了“上传”权限可能导致覆盖操作越权的漏洞
          这个漏洞可以用一个简单的示例进行说明:假如kiftd的管理员不信任用户A,认为其可能会危害文件安全,那么便不会给与其“删除”权限。但是这并不妨碍A在kiftd上上传自己的文件,因此会给与其“上传”权限。这样,管理员会认为kiftd中的文件是安全的。实际上,kiftd的设计方案也是如此。
          不过,A用户发现了一种“另类”的删除文件方式——由于kiftd在用户上传同名文件时需要让用户选择“跳过”、“覆盖”或“保留两者”,因此A可以随意上传一个与要删除文件同名的空文件,之后选择“覆盖”。这种行为导致的结果便是,A用户能够恶意覆盖掉kiftd中的全部文件从而导致管理员崩溃。
          如图所示:


          IP属地:河北5楼2019-02-25 15:01
          回复
            现在,kiftd已经意识到了这一漏洞的严重性并进行了修正:方法很简单,如果用户具备“上传”权限,那么可以在上传同名文件时选择“跳过”和“保留两者”,而当该用户还同时具备“删除”权限时,才可以选择“覆盖”。因此,无删除权限的用户在上传同名文件时会看到这样的效果:

            现在,管理员可以放心地为A用户设置“上传”权限了。


            IP属地:河北6楼2019-02-25 15:05
            回复
              以上便是1.0.15版本的全部内容。如有意见或建议欢迎随时至信kohgylw@163.com,您的反馈是kiftd不断进步的而最佳动力!


              IP属地:河北7楼2019-02-25 15:06
              回复
                那么,是否可以具有版本管理呢?比如可以保存每个文件3个月内不超过100个版本,就算有权限,在多次误删误覆盖后还可以恢复以前的版本


                IP属地:重庆8楼2019-03-07 09:14
                收起回复