Apache允许将太大的文件发送到服务器(与配置相矛盾)



我通过POST将Ajax文件上传到使用PHP7/Apache2编写的json-API。

服务器上传文件的设置为:

upload_max_filesize = "50M"
post_max_size = "50M"

我的工作方式是,用户确实不能上传超过50M的文件。然而,他们仍然可以向服务器发送多个千兆字节大小的文件,服务器将

a) try to allocate that much disk space to place the file in the /tmp folder

b) try to allocate that much memory during file upload

如果超过相应的限制,Apache是否可以取消文件上传?(50米(

在不将其编码到网站软件本身的情况下,最简单的方法是在网站的Apache配置文件中使用LimitRequestBody指令。

例如,如果您的网站将所有上传内容都发送到/var/www/uploads,您可以将其添加到您的配置文件中:

<Directory "/var/www/uploads">
LimitRequestBody 52428800
</Directory>

这将限制上传52428800字节,即50MB。

请记住在修改配置文件后重新加载/重新启动Apache,否则在下次重新启动服务器之前不会应用此规则。

最新更新