@KarambyG

Как обезопасить сайт от загрузки нежелательных файлов на сервер?

Возник серьёзный вопрос по загрузке на сервер файлов. например, изображений. На сервер пользователь может загрузить всё что угодно, поэтому необходимо написать защиту. В связи с этим возникло несколько вопросов.
1. Что делать, если пользователь решил влепить вирус в картинку, и загрузить вирусную картинку на сервер? Как от такого защищаться?
2. Проверку на тип файла = картинка, мне посоветовали этот код. Возник вопрос. Эти 2 проверки идентичные же? Или они обе нужны всё-таки?
if($_FILES["upload_file"]["type"] != "image/jpeg"){
       $error_file1 = "Формат файла не допустимый!<br>";
}
$format= end(explode(".", $_FILES["upload_file"]["name"]));
if(!in_array($format, 'jpg')){
	$error_file1 = "Пожалуйста, загрузите изображение в <b>jpg</b> формате.";
}
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
samodum
@samodum
Какой вопрос - такой и ответ
1.1. Ограничения на размер фото
1.2. ОБЯЗАТЕЛЬНАЯ переконвертация картинки либо в другой формат, либо с изменением качества изображения, пусть и незначительного.
2. Нет, неправильно. Помимо проверки MIME-типа желательно проверять ещё заголовок, обычно это первые 4-5 байт, которые говорят о формате файла
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы