Как ограничить размер загружаемого файла в PHP? - PullRequest
2 голосов
/ 11 октября 2011

Я хочу сохранить пропускную способность и ограничить размер загружаемых файлов на нашей веб-странице. Проблема в том, что я могу установить максимальный размер загружаемого файла (например, 1 МБ), но пользователь может выбрать файл размером 50 МБ и загрузить его, чтобы узнать, что PHP действительно не принимает файлы такого размера - загрузка выполняется совершенно ненужно.

Можно ли как-то предотвратить это?

(Я могу проверить размер файла в Javascript, но не все браузеры поддерживают это. Flash - вариант, но он не универсален).

Спасибо!

1 Ответ

8 голосов
/ 11 октября 2011

Используйте директиву LimitRequestBody in .htaccess:

Пример (установка предела 1 Мб).Создайте / измените свой файл .htaccess (в своем корне или выше) и добавьте:

LimitRequestBody 1048576

При превышении лимита запрос будет прерван .Пользователь получит ответ, подобный следующему:

413 Слишком большой объект запроса

Также: Правило 1: никогда не доверяйте клиенту! Вы должны всегда делать такие проверки на стороне сервера, потому что клиент может легко обойти ваши проверки JavaScript и делать все, что не ограничено сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...