在带有nginx的php-fpm中,我可以禁用upload_max_filesize吗?

In php-fpm with nginx, can I disable upload_max_filesize?

提问人:jehon 提问时间:10/26/2023 最后编辑:jehon 更新时间:11/2/2023 访问量:41

问:

我有一个带有 php-fpm 后端的 nginx 服务器。

在nginx服务器上,我限制了任何内容的上传。client_max_body_size

所以我决定禁用和?无论如何,他们已经受到 nginx 服务器的限制......这将避免重复的限制和配置。post_max_sizeupload_max_size

为此,我确实尝试设置它们

post_max_size = 0
upload_max_filesize = 0

这似乎可以完成这项工作,同时部分记录在案。

这种设置安全吗?

php 安全 nginx 上传

评论

0赞 Markus Zeller 10/27/2023
请参阅 serverfault.com/questions/611239/...,大小应为 0 而不是 -1。但是您不应该允许无限制上传,以防止服务器死机和安全原因。选择可靠的尺寸,可以随时增加。
1赞 Barmar 10/27/2023
@MarkusZeller 他们不允许无限制上传。他们在 NGINX 配置中限制了它,因此 PHP 配置是多余的。
0赞 Markus Zeller 10/27/2023
@Barmar我会说这是部分正确的。例如,当 nginx 大小为 1 GB 且 PHP 配置为 512MB 时,它仅限于 PHP 配置大小。但反过来说,如果 PHP 是无限的,那么它的最大 nginx 配置将达到 1 GB。
0赞 Barmar 10/27/2023
@MarkusZeller 对。但是由于他们只想使用 NGINX 配置,因此在 PHP 中复制它是多余的。
1赞 Barmar 10/27/2023
@MarkusZeller 这就像在两个地方设置相同的限制一样安全。

答:

0赞 Barmar 10/27/2023 #1

post_max_size的文档在更新日志中说:

5.3.2 , 5.2.12 通过将 post_max_size 设置为 0 来允许无限制的帖子大小。

所以正确的值是 ,而不是 。5.3.4 的更新日志显示,当内容类型为 时,这不起作用。但是,由于您必须用于上传文件,因此当您想要允许大文件上传时,这无关紧要。0-1application/x-www-form-urlencodedmultipart/form-data

的文档没有说明如何使其不受限制,但似乎很可能是相同的。验证此预期应该很简单,您可以提交错误报告来修复文档。upload_max_size

0赞 jehon 11/2/2023 #2

这个回答(还)不是事实。

由于 NGINX 限制了上传大小,因此该限制实际上适用于与 PHP 的任何通信。因此,PHP 中的限制是不必要的。

但这一点是基于 NGINX 正确地完成工作的事实。