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

2019-06-24 15:05:37 +08:00
 phpfpm

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

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

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

经查:

PDF 尺寸一致;

0x0000 0000~0x0019 0000 内容一致

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

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

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

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/576938

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX