@hooligan377

Безопасная загрузка картинок, как?

Есть код загрузчика:
<?php
  $blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
  foreach ($blacklist as $item)
    if(preg_match("/$item\$/i", $_FILES['somename']['name'])) exit;
  $type = $_FILES['somename']['type'];
  $size = $_FILES['somename']['size'];
  if (($type != "image/jpg") && ($type != "image/jpeg")) exit;
  if ($size > 102400) exit;
  $uploadfile = "images/".$_FILES['somename']['name'];
  move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile);
?>


Все хоро с безопасностью или что то еще добавить?
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 2
php666
@php666
PHP-макака
exit;
забудь про exit и почитай про исключения.
получить тип файла - php.net/manual/ru/function.finfo-file.php
проверить как был загружен - php.net/manual/ru/function.is-uploaded-file.php
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Все очень плохо.

Самое главное - черный список никогда не является надёжной защитой. Защищает только белый список.

Плюс файл надо в обязательном порядке переименовывать.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы