我有一个简单的上传表单,允许将文件上传到站点中的文件夹。除了 .pdf 文件外,我不允许上传任何内容。但是,我根本无法修改表单以限制上传。而且我也不能在后端使用 PHP 来限制它。Javascript 是不安全的,因为用户可以将其关闭。如何使用 .htaccess 将上传限制为 .pdf 文件?
问问题
827 次
1 回答
2
据我所知,这是不可能的。但是,您可以限制要返回的文件,并将它们的 mime 类型强制为application/pdf
,因此即使它们不是,它们也会被视为 PDF。如果将其与 JavaScript 结合使用,它将帮助诚实的用户(例如,如果有人不小心选择了 a .jpg
,他们会立即收到警告),并且会使攻击更加困难。
不过,第三方mod_upload似乎可以提供帮助。
要限制输出类型,您可以使用.htaccess
类似于以下的文件:
# Prevent request to non-.pdf files
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ! \.pdf$
RewriteRule (.*) $1 [F]
# Tell the browser that this is a PDF
Header set Content-Type application/pdf
# Hint that the browser shouldn't try to auto-detect the content type
Header set X-Content-Type-Options nosniff
(注意:我是凭记忆写的,所以在相信它们之前一定要测试它们……)
于 2011-09-01T16:26:27.370 回答