<?php
$photo = $_REQUEST['photo'];
move_uploaded_file($_FILES['file']['tmp_name'], "photos/".$photo .".gif");
?>
Уязвим ли данный код? Смогут ли обрезать .gif в названии файла и залить веб-шелл? Или можно не беспокоится? Кавычки код пишет в название файла почему-то, хотя фильтра нет.
Старый дбрый веб-сервер апач по умолчанию настраивается так, чтобы исполнять файлы вида file.php.gif, как php.
Для надежности проще всего будет файл переименовывать.
Да, уязвим.
Если в $photo окажется что-то типа ../../../../usr/bin/aaa, то это потенциально опасно.
Ну и в любом случае таким образом можно перезаписать любой gif-файл твоего сайта.
Имеет смысл сделать проверку на текст в $photo и почистить его до имени файла без пути и расширения. Впрочем, с расширением есть нюанс. Мне кажется, что имеет смысл оставлять оригинальное расширение, если оно находится в списке разрешённых.
И ещё: если разрешён svg, то стоит обратить внимание на возможность наличия в нём связей с внешними ресурсами.
Продвижение своими сайтами как стратегия роста и независимости