php - 如何忽略发布多部分数据的内容长度

时间:2017-05-12 23:38:50

标签: php post file-upload multipartform-data

我有一个IP摄像头,触发器将JPG图片上传到我的apache-php网络服务器。

相机发送POST请求,其中多部分数据以边界分隔,在大多数情况下都可以。

但有时(每张〜第5张照片)相机发送错误的内容长度(非常大的数字,139TB)。这是相机软件中的一些错误。发生此问题时,$ _REQUEST和$ _FILES数组为空。

除了错误的内容长度,其他一切都在请求内, 我用NETCAT听了它并解析好图片,没关系(仅限14KB)

所以,如果我可以告诉php(php.ini或其他)忽略内容长度并按边界阅读post vars,一切都会没问题。

php有这样的开关吗?

更新

分析后,似乎在这台相机的情况下,

 wrongContentLength is always == correctLength + 139736760975360
                              == correctLength + 0x00007f1700000000

这可能是由一些32位 - 64位混音引起的。

但忽略问题的唯一方法是手动解析php://input,当问题出现时可读取...从getallheaders()读取边界,并解析其中两个之间的文件数据。

0 个答案:

没有答案