- Проверка размера файла перед сохранением на сервере. (Проверка размера файла во время его загрузки)
Максимальный размер файла проверяется PHP при декодировании запроса POST. Это устанавливается в php.ini с upload_max_filesize
. Обычно это около 10 МБ или около того.
Но вы можете легко установить максимальный размер файла для вашего приложения с помощью простого теста:
if ($_FILES["image"]["size"] >= 500000) {
Затем отреагируйте соответствующим образом и распечатайте сообщение об ошибке. 500K должно быть более чем достаточно для изображений профиля и аватаров.
- Сканирование содержимого файла
Затем вам нужно будет установить антивирусный сканер на сервер. Есть различные доступные. Поскольку это открытый исходный код, многие серверы Unix / Linux могут иметь clamav . Это можно использовать так из PHP:
exec("clamscan '$filename'", $output, $result);
if ($result === 0) {
// everything ok
}
Состояние вывода $result
будет 1
для вируса или 2
для других ошибок.