[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасная загрузка аватаров
Гость_Николай
Подскажите, безопасно ли так загружать аватары на сайт?
Правильно ли написан обработчик?

Форма:

<form action="" method="post" enctype="multipart/form-data">
<input
type="file" name="avatar" />
<input
type="submit" value="go" />
</form>


Обработчик:
if (isset($_FILES['avatar']['name']) && !empty($_FILES['avatar']['name']))
{
if($_FILES['avatar']['size'] != 0 && $_FILES['avatar']['size'] < 50*1024)
{
if(
$_FILES['avatar']['type'] == "image/gif" ||
$_FILES['avatar']['type'] == "image/jpg" ||
$_FILES['avatar']['type'] == "image/jpeg"||
$_FILES['avatar']['type'] == "image/png"
)
{
if(is_uploaded_file($_FILES['avatar']['tmp_name']))
{
$iwh = GetImageSize($_FILES['avatar']['tmp_name']);

if($iwh[0] > 120 || $iwh[1] > 120 || $iwh[0] < 80 || $iwh[1] < 80)
$error[] = 'Максимальные размеры картинки 120 x 120 px. - минимальные 80x80 px';
else
{
$type_file = str_replace("image/","",$_FILES['avatar']['type']);

$name_jp = time() . $user_bd['id']; // $user_bd['id'] - id авторизованого пользователя

if(move_uploaded_file($_FILES['avatar']['tmp_name'],"/img/avatar/". $name_jp .".".$type_file))
{
q("UPDATE `user`
SET `avatar` = '"
. $name_jp .".".$type_file ."'
WHERE `id` = '"
. $user_bd['id'] ."'");

$error[] = 'Загружено';
}
else
$error[] = 'Произошла ошибка при загрузке файла на сервер!';
}
}

else
$error[] = 'Произошла ошибка при загрузке файла на сервер!';
}
else
$error[] = 'Неверный формат изображения! Поддерживаемые форматы gif, jpg, jpeg';
}
else
$error[] = 'Максималный размер файла 50 кб.';
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.