我想从我的应用程序的用户那里获得一个相当大的文件(大约45-50M),然后将该文件移动到其他服务器。
我对配置文件进行了以下更改,有人可以评论我的做法,或者如果有任何更改,请提出建议。
我想知道这些更改是否符合我的要求(没有时间上传大文件)?
对 php.ini 文件进行的更改
max_execution_time = 0
max_input_time = 900
memory_limit = 128M
upload_max_filesize = 50M
post_max_size = 51M
对Apache httpd.conf 文件
的更改Timeout 1800
感谢。
答案 0 :(得分:2)
当用户上传文件时,以下配置值很重要,应正确设置:
使用LimitRequestBody
,在某些RPM安装上设置为.5MB,如果设置了thsi,那么你应该将它们全部删除,或者如果你有严格的限制,那么你可以设置它。
我还会投资在Apache背后使用Node.JS,并将上传转发到该流程,这样您就可以通过安装一个简单的上传库来减少大量的内存使用。
当文件上传后,您可以将文件存储在temp中,创建它的哈希值,然后通过发送回Location
标头重定向客户端,然后将用户重定向回php进程传入哈希,然后您可以在其中找到并恢复等。
答案 1 :(得分:1)
我会说你对这些价值观感到满意 - 但攻击者通过大量上传粉碎它来破坏你的网站几乎是非常容易的(如果这是私有/内联网类型的应用程序则不是问题)