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

浏览器上传文件,内容发生了变化,可能的原因是?

  •  
  •   phpfpm · 2019-06-24 15:05:37 +08:00 · 2649 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天接到一个客诉,描述:

    某个 PDF 下载后无法正常打开

    其提供的原始版本可以正常打开。

    经查:

    PDF 尺寸一致;

    0x0000 0000~0x0019 0000 内容一致

    0x0000 1900~0x002e 0000 内容完全不一致

    所以以下两件事情你愿意相信哪件?

    A 客户上传的文件本身就是错的,有一个正确的一个错误的两个版本

    B 浏览器,nginx,php,aliyun oss 这几个经手文件的程序 /业务提供方,把文件内容正文弄错了。

    如果是 B,谁的嫌疑最大?浏览器么?

    21 条回复    2019-06-25 10:20:37 +08:00
    oott123
        1
    oott123  
       2019-06-24 15:10:18 +08:00
    B
    aliyun oss
    no1xsyzy
        2
    no1xsyzy  
       2019-06-24 15:15:00 +08:00
    盲猜一个后面都是 0
    phpfpm
        3
    phpfpm  
    OP
       2019-06-24 15:17:15 +08:00
    @no1xsyzy 不是,没有被截断,有内容。
    no1xsyzy
        4
    no1xsyzy  
       2019-06-24 15:21:37 +08:00
    @phpfpm 这就很迷惑了,哪来的?
    这样 aliyun oss 嫌疑就很高了。
    opengps
        5
    opengps  
       2019-06-24 15:44:03 +08:00
    看大小,似乎是重新存储时候没有严格按照实际大小去标记,而是用了存储位置大小填充了。
    如果是 OSS,则可能是分片上传导致的,lz 往这方面找找看
    aaa5838769
        6
    aaa5838769  
       2019-06-24 16:16:56 +08:00   ❤️ 1
    1.第一个客户的 pdf 本身有问题,这个也是有一定的概率。2。看你们使用的上传方法,oss 只是存储的地方,应该跟它没关系。3.nginx 对上传文件有大小限制,可以找找相关配置文件,但是应该不会影响文件里的内容。4.还是检查一下你们的代码逻辑吧。
    FrankHB
        7
    FrankHB  
       2019-06-24 17:12:14 +08:00
    突然想到个略相关问题:现在运营商会闲着○疼到劫持上行流量么?
    zarte
        8
    zarte  
       2019-06-24 17:24:20 +08:00
    换台电脑试下不就知道了么。
    efaun
        9
    efaun  
       2019-06-24 18:08:01 +08:00
    @FrankHB 监管需要还是会的吧
    just1
        10
    just1  
       2019-06-24 18:10:07 +08:00
    管他是什么,前端计算个 MD5,后端也计算一次,不对就重传
    FrankHB
        11
    FrankHB  
       2019-06-24 18:10:38 +08:00
    @efaun 监管一般也就是旁路掉吧,会直接改掉让用户发现么……
    lastpass
        12
    lastpass  
       2019-06-24 18:16:39 +08:00 via Android
    中间抓两次包。一次浏览器,一次接收前。看谁在捣鬼。
    HeiXiaoBai
        13
    HeiXiaoBai  
       2019-06-24 18:29:41 +08:00
    找客户要一下原始版本的文件,问一下客户的环境,经历还原然后上传试试
    zjsxwc
        14
    zjsxwc  
       2019-06-24 18:34:37 +08:00 via Android
    暴力二分法调试,排除下不就知道是谁的锅了
    cnrting
        15
    cnrting  
       2019-06-24 20:53:20 +08:00
    aliyun oss
    akira
        16
    akira  
       2019-06-24 21:57:42 +08:00   ❤️ 1
    你们尝试过 上传原始版本 么.. 至少要想办法复现问题才能比较容易修正问题吧.

    各环节出问题的可能性都有,但是比较常见的就是文件过大,nginx 那边没做好相关配置了
    omph
        17
    omph  
       2019-06-24 22:02:37 +08:00
    重现了吗?????
    Jveuy
        18
    Jveuy  
       2019-06-24 22:10:17 +08:00 via iPhone
    该不会是 jack 老哥吧。
    phpfpm
        19
    phpfpm  
    OP
       2019-06-25 10:19:24 +08:00
    @aaa5838769 这个问题挺偶发的,我们 oss 用了三四年了第一次出现这样的事情被发现。
    phpfpm
        20
    phpfpm  
    OP
       2019-06-25 10:19:54 +08:00
    @FrankHB 走的都是阿里云内网的流量,除非自己劫持自己
    客户端到服务端是 ssl,不可能被劫持。
    phpfpm
        21
    phpfpm  
    OP
       2019-06-25 10:20:37 +08:00
    @zjsxwc
    @lastpass emm 关键是绝对无法复现。。。

    @omph

    就当闹鬼吧哈哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3493 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 10:55 · PVG 18:55 · LAX 03:55 · JFK 06:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.