Как защитить сервер, на котором находится сайт и форум, с поддержкой загрузки собственных аватар и вставки изображений в комментарии?
Ведь всем известно, что изображение может быть снабжено вирусом, через который можно получить полный доступ на сервер. Как грамотно работать с такими загрузками изображений? Ясно, что антивирус помочь особо ничем не сможет, потому что самые новые вирусы он не разоблачает.
Ответ
Всем известно, что сам по себе вирус - это набор байтов, абсолютно безвредный, пока не запущен на исполнение в соответствующем окружении.
Из окружений на РНР веб-сервере обычно доступны два - CGI и PHP. Для CGI достаточно не загружать изображения в папку, которая предназначена для исполняемых файлов.
Для РНР же защита сводится к тому, чтобы
Не пропускать файлы с расширением php. Это просто, за исключением одного нюанса*
Не инклюдить в свои пхп скрипты что попало. Это правило гораздо важнее и шире, чем просто загрузка изображений. Если оно не соблюдается, то и никаких картинок на сервер заливать не надо. Если же наш код всегда точно значет, какой именно файл он инклюдит, и подсунуть ему со стороны ничего невозможно, то и картинка с пхп кодом тоже будет безопасной.
--
Нюанс. Веб-сервер апач в дефолтной конфигурации исполняет файлы вида script.php.jpg как php файлы.
Комментариев нет:
Отправить комментарий