使用 .htaccess,是否可以根据文件类型限制 php 文件上传大小限制?
例如,图片的最大上传限制为 2 MB,PDF 和 DOC 的最大上传限制为 10 MB。
我会为此使用LimitRequestBody指令。但是,引用:
该
PUT
方法的实现将需要一个至少与服务器希望为该资源接受的任何表示一样大的值。
您可以将其设置为 10Mb 以让 Apache 切断任何肯定太大的请求,然后在您的脚本中进一步测试和过滤。该指令主要用于防止拒绝服务攻击。如果没有这个指令,Apache 会很乐意在整个文件到达您的脚本之前接受它,因此用户可能会在被告知文件太长之前上传 100Gb 文件。
但是,该指令不会窥探请求的主体,因此您无法使用它过滤文件类型。
您可以更改大小限制并设置允许的类型,但我不相信您可以加入两者。
是的,您可以使用以下方法在.htaccess中定义和限制文件大小:
php_value post_max_size 1000M
php_value upload_max_filesize 1000M
One method to help protect your server against DOS attacks involves limiting the maximum allowable size for file uploads. Here, we are limiting file upload size to 10240000 bytes, which is equivalent to around 10 megabytes. For this rule, file sizes are expressed in bytes. Note: this code is only useful if you actually allow users to upload files to your site.
LimitRequestBody 10240000