pro100chel
@pro100chel
Senior Pomidor Developer | CEO of GOVNOKOD LTD.

Защита в php от загрузки вредоносных скриптов на сервак при загрузке файла?

Собственно вопрос в шапке. В инете нашел пару статеек, но они датируются началом прошлого десятилетия.

Так как же максимально обезопасить сайт от загрузки и исполнения вредоносных скриптов если на сайте есть страница, где юзер может загружать файлы?

На ум приходит проверять расширение файла. Например пропускать только png, jpg и другие картинки. Сплитим строку по точке и берем последнее значение.

Представляют ли опасность только файлы, у которых расширение .php?
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
элементарно: достаточно сделать так, чтоб загруженные файлы не выполнялись как код.

Представляют ли опасность только файлы, у которых расширение .php?
опасность предоставляют любые файлы, без оглядки на расширение. особенно, на никсах, где расширение не роялит.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@maxbrown
Количество способов выполнить специально подготовленный файл не просто большое, а увеличивающееся. Одни дыры латаются, другие возникают взамен.
Я, например, помню времена, когда было достаточно задать файлу аттрибут rw-------, а потом внезапно после очередного обновления ПО хостера эти файлы стали и видимыми, и выполняемыми.
Мы не можем заранее знать, как будет меняться серверное ПО.
Но можем более-менее уверенно предположить, что архивы останутся архивами, без извлечения из которых выполнить файл останется невозможным.
Поэтому если сайт не слишком тяжело нагруженный, архивируйте файл загруженный, и отдавайте его содержимое только через скрипт-разархиватор. И да не будет вам нищастья.
Ответ написан
@FanatPHP
Чебуратор тега PHP
Это потому что ты не умеешь гуглить

Во-первых, можно задать сайт, на котором искать
site:qna.habr.com безопасная загрузка файлов - и хоба, оказывается ты не один такой вундеркинд придумал уникальный вопрос, а вас тут стада бегают с одним и тем же вопросом.

во-вторых, можно задать дату статьи. на нравится прошлое десятилетие? Задай текущее

5f48a675ce4e2692771010.png
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Запрет прямого вызова загруженных файлов (с указанием папки) при обращении к ним через браузер.

При необходимости прямого запроса загруженных файлов из браузера - создаётся промежуточная папка-"отстойник": валидация "тела" файла скриптом на соответствие ожидаемому формату и перемещение в папку прямого доступа, если файл прошёл проверку.
Ответ написан
Ваш ответ на вопрос

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

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