<?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, то стоит обратить внимание на возможность наличия в нём связей с внешними ресурсами.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Почему вместо $get нельзя выполнить php код? Фильтров нет, но кавычки отображаются как текстЕсли в $get задать - $a или "
В документации написано, что он передает значение в генераторМожете подробнее описать, как это происходит? Непонятно, что проверяет цикл...
Какой класс исключений использовать для перехвата фатальных ошибок, например, при попытке вывода несуществующей переменной? Есть общее...