• 请不要在回答技术问题时复制粘贴 AI 生成的内容
phpfpm
V2EX  ›  程序员

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

  •  
  •   phpfpm · Jun 24, 2019 · 3471 views
    This topic created in 2539 days ago, the information mentioned may be changed or developed.

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

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

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

    经查:

    PDF 尺寸一致;

    0x0000 0000~0x0019 0000 内容一致

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

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

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

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

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

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

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

    @omph

    就当闹鬼吧哈哈哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2909 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    ♥ Do have faith in what you're doing.