Как я могу использовать .htaccess, чтобы ограничить загрузку файлов в .pdf? - PullRequest
1 голос
/ 01 сентября 2011

У меня есть простая форма загрузки, которая позволяет загружать файл в папку на сайте.Я не хочу позволять загружать ничего, кроме файлов .pdf.Однако я не могу изменить форму, чтобы ограничить загрузку.И я не могу использовать PHP на сервере, чтобы ограничить его.Javascript небезопасен, потому что пользователь может отключить его.Как я могу ограничить загрузку в файл .pdf с помощью .htaccess?

1 Ответ

2 голосов
/ 01 сентября 2011

Насколько я знаю, это невозможно. Однако вы можете ограничить число возвращаемых файлов и установить для них тип mime application/pdf, поэтому они будут обрабатываться как PDF-файлы, даже если это не так. Если бы это сочеталось с JavaScript, это помогло бы честным пользователям (например, если кто-то случайно выберет .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

(примечание: я написал их по памяти, поэтому обязательно проверьте их, прежде чем доверять им ...)

...