Наша цель это не дать ему загрузить свой файл путем различный проверок в скриптах загрузки, и вторая задача обезопасить папку от выполнения скрипта в случае если загрузка каким то образом состоялась. Про первую цель говорить в данной теме мы не будем, а вот второй уделим несколько ценных минут, тем более что сейчас довольно полпулырным ремеслом ставл взлом популярных cms через их уязвимости.
Запрещать выполнение скриптов в определенной папке мы будем с помощью htaccess файла. Для этого в папку которая предназначена для хранения картинок либо, для хранения каких либо других неисполняющих файлов создадим и положим файл .htaccess. Прошу обратить внимание что название файла начинается с точки (в виндовсе назвать файл таким путем не выйдет, для этого необходимо будет воспользоваться каким нибудь иным диспетчером файлов, например total comander).
В данный файл вписываем (вставляем) следующие строки:
<Files ~ "\.(php|cgi|pl|php3|php4|php5|php6|phps|phtml|shtml|py)$">
Deny from all
</Files>
Данный код содержит перечисление всех (а если и не все то поправьте меня, каке знал - такие собрал) расширений скриптов выполнение которых необходимо запретить в папке.
После загрузки данного файла киньте какой нибудь простой скрипт (например php срипт который выводит надпись на экран) в эту папку и попробуйте выполнить, если все сделано правильно то у вас ничего не выйдет, если у вас не вышло значит что и злоумышленник останется с красным (возможн синим) носом. После можно попробовать открыть какое то изображение, оно должно у нас отлично отображаться.
Так же хочу дать небольшой совет, назначте данному файлу права 444 это уредет возможность его редактирования.
Помните безопасность превыше всего, не нужно говорить себе авось пронесет, лучше сейчас потратить пару минут которые будут направленны на улучшение безопасности сайта чем потом несколько часов чтоб выковырять виртуозно спрятанный код злоумышленника с сайта.
Комментарии
В каждой папке
у меня в каталоге с изображениями несколько папок с картинками, файл .htaccess размещать в каждой папке или только в главном каталоге?
RSS лента комментариев этой записи