V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Windrunner
V2EX  ›  Google

关于手机压缩文件的一点疑惑

  •  
  •   Windrunner · 2018-10-18 19:48:53 +08:00 via Android · 3037 次点击
    这是一个创建于 2228 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大一新生一枚,在学校网站上传一个.zip 的作业时会提示文件格式不正确,无论是用手机(华为)自带程序还是 ZArchiver 压缩都有这个问题,然而用在 PC 上用 winrar 压缩的文件(还是.zip )上传则没有问题(还是用手机上传的)。后来在手机上打开这个 winrar 压缩包,无论是用自带的还是 ZArchiver 都会出现文件名乱码…想问一下这两个压缩方式有什么区别,以及如何解决这个问题…
    5 条回复    2018-10-18 22:14:39 +08:00
    Kagari
        1
    Kagari  
       2018-10-18 20:04:46 +08:00 via Android
    Linux Windows zip 编码 文件头
    不知道他是怎么检查文件格式的呢
    icedx
        2
    icedx  
       2018-10-18 20:42:16 +08:00
    Windows 上的 Winrar 是 GB2312 编码
    Android 和 ZArchiver 是 UTF-8

    估计你们学校网站用的 Java
    在我认知里只有 Java 在中文环境下是 GB2312


    处理 zip 的函数是一个大 try 到 catch 就返回格式不正确了
    很有可能服务器试图解压 zip 中的文件到 fs 中 而且解压的文件名用了 ZipEntry.getName()
    但是 ZipEntry.getName() 包含乱码(不可见字符) 导致了 java.io.FileNotFoundException

    如果上边猜的差不多的话
    感觉你们学校的系统很有可能用的 Windows 而且上传作业这个过程有目录穿越漏洞
    Windrunner
        3
    Windrunner  
    OP
       2018-10-18 21:22:23 +08:00 via Android
    大佬这个漏洞可以干什么吗 @icedx
    icedx
        4
    icedx  
       2018-10-18 21:32:41 +08:00
    @Windrunner
    按照学校的水平应该不会有限制权限什么的
    可以上传文件
    Windrunner
        5
    Windrunner  
    OP
       2018-10-18 22:14:39 +08:00 via Android
    上传??@icedx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1291 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.