我正在构建一个简单的图像文件上传表单。以编程方式,我正在使用Laravel 5框架。通过Input facade(通过Illuminate),我可以解析文件对象,它本身就是一个UploadedFile(通过Symfony)。
UploadedFile的API参考页面(Symfony docs)表示
公共整数| null getClientSize ()
返回文件大小。它是从请求中提取出来的 文件已上传。 不应将其视为安全 value。返回值整数| null文件大小
答案 0 :(得分:1)
该方法使用“Content-Length”标题,可以轻松伪造。你会想要使用简单的构造$ _FILES ['myfile'] ['size']。作为另一个问题的答案已经说明:Can $_FILES[...]['size'] be forged?
此值检查文件的实际大小,并且不会被提供的标头修改。
如果你想检查行为不端的人,你可以简单地将内容长度标题与$ _FILES ['myfile'] ['size']值进行比较。