【问题标题】:How to restrict file upload size limit based on file type in .htaccess如何根据 .htaccess 中的文件类型限制文件上传大小限制
【发布时间】:2012-12-06 23:56:58
【问题描述】:

使用.htaccess,是否可以根据文件类型限制php文件上传大小限制?

例如,图片的最大上传限制为 2 MB,PDF 和 DOC 的最大上传限制为 10 MB。

【问题讨论】:

  • 我真的不认为你可以,你可以在文件上传后检查文件,但不是之前。

标签: php apache .htaccess


【解决方案1】:

是的,您可以使用以下方法在 .htaccess 中定义和限制文件大小:

php_value post_max_size 1000M
php_value upload_max_filesize 1000M

【讨论】:

    【解决方案2】:

    帮助保护您的服务器免受 DOS 攻击的一种方法是限制文件上传的最大允许大小。在这里,我们将文件上传大小限制为 10240000 字节,相当于大约 10 兆字节。对于此规则,文件大小以字节表示。注意:此代码仅在您实际允许用户将文件上传到您的站点时才有用。

    LimitRequestBody 10240000

    【讨论】:

    • 请你解释一下为什么负面声誉
    【解决方案3】:

    我会为此使用LimitRequestBody 指令。但是,引用:

    PUT 方法的实现将需要一个至少与服务器希望为该资源接受的任何表示一样大的值。

    您可以将其设置为 10Mb 以让 Apache 切断任何肯定太大的请求,然后在您的脚本中进一步测试和过滤。该指令主要用于防止拒绝服务攻击。如果没有这个指令,Apache 会很乐意在文件到达您的脚本之前接受整个文件,因此用户可能会在被告知文件太长之前上传 100Gb 文件。

    不过,此指令不会窥探请求的正文,因此您无法使用它过滤文件类型。

    【讨论】:

      【解决方案4】:

      您可以更改大小限制并设置允许的类型,但我不相信您可以加入两者。

      【讨论】:

      • 你有这方面的资料或理由吗?
      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2022-10-26
      • 1970-01-01
      • 2011-01-29
      • 2017-03-09
      • 2011-01-13
      • 1970-01-01
      相关资源
      最近更新 更多