Скажем, у меня есть сценарий загрузчика изображения, я хочу препятствовать тому, чтобы каталог загрузки выполнил Php или даже HTML, только показывая его простым текстом, я видел этот прием во многих веб-сайтах, но я не знаю, как они делают это.
Кратко, если я загружаю evil.php
к тому каталогу, и я пытаюсь получить доступ к нему, я буду только видеть источник простого текста, Никакой HTML или php не выполняются. (но я все еще хочу, чтобы изображения появились обычно, конечно),
Я знаю, что могу сделать как этот header("content-type:text/plain");
но это, не будет полезно, потому что то, что я хочу, должно установить content-type:text/plain
автоматически сервером для каждой вещи производится из каталога загрузки кроме изображений.
Примечание: я выполняю php 5.3.2/цента ОС и последний cPanel.
Спасибо
По крайней мере, вы захотите поместить следующее в ваш файл .htaccess для каталога загрузки:
Options -Indexes
Options -ExecCGI
AddHandler cgi-script .php .php3 .php4 .phtml .pl .py .jsp .asp .htm .shtml .sh .cgi
Проблема с .htaccess файл, если ваша загрузка не блокирует загрузку, ваш .htaccess может быть перезаписан. Альтернативным решением является использование директивы Apache (если вы используете Apache), показанной здесь, Отключить PHP в каталоге (включая все подкаталоги) с помощью .htaccess
Поместите .htaccess
в каталог загрузки.
AddType 'text/plain' .php .html
или
ForceType 'text/plain'
#...
Выполните поиск в Google по запросу « отключить выполнение сценария для каталога », чтобы открыть ряд параметров. Это мой любимый:
AddType text/plain .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi .js
Единственным недостатком является то, что вам нужно явно указать расширения, которые не будут запускаться, но возможно (просто догадка) использовать какой-то подстановочный знак, чтобы все расширения файлов считались простыми text, а затем вручную добавьте Mime Type для стандартных расширений изображений.
Поскольку вы говорите о загрузчике изображений , вы не хотите отображать изображения как plain / text
]. Как бы вы отделили изображения от вредоносных файлов? Во время этой задачи просто заблокируйте сохранение определенного файла.