Как препятствовать тому, чтобы определенный каталог выполнил Php, HTML и языки сценариев JavaScript?

Скажем, у меня есть сценарий загрузчика изображения, я хочу препятствовать тому, чтобы каталог загрузки выполнил Php или даже HTML, только показывая его простым текстом, я видел этот прием во многих веб-сайтах, но я не знаю, как они делают это.

Кратко, если я загружаю evil.php к тому каталогу, и я пытаюсь получить доступ к нему, я буду только видеть источник простого текста, Никакой HTML или php не выполняются. (но я все еще хочу, чтобы изображения появились обычно, конечно),

Я знаю, что могу сделать как этот header("content-type:text/plain"); но это, не будет полезно, потому что то, что я хочу, должно установить content-type:text/plain автоматически сервером для каждой вещи производится из каталога загрузки кроме изображений.

Примечание: я выполняю php 5.3.2/цента ОС и последний cPanel.

Спасибо

9
задан Sripathi Krishnan 12 April 2010 в 02:39
поделиться

4 ответа

По крайней мере, вы захотите поместить следующее в ваш файл .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

4
ответ дан 4 December 2019 в 21:09
поделиться

Поместите .htaccess в каталог загрузки.

AddType 'text/plain' .php .html

или

ForceType 'text/plain'
#...
3
ответ дан 4 December 2019 в 21:09
поделиться

Выполните поиск в Google по запросу « отключить выполнение сценария для каталога », чтобы открыть ряд параметров. Это мой любимый:

AddType text/plain .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi .js

Единственным недостатком является то, что вам нужно явно указать расширения, которые не будут запускаться, но возможно (просто догадка) использовать какой-то подстановочный знак, чтобы все расширения файлов считались простыми text, а затем вручную добавьте Mime Type для стандартных расширений изображений.

3
ответ дан 4 December 2019 в 21:09
поделиться

Поскольку вы говорите о загрузчике изображений , вы не хотите отображать изображения как plain / text ]. Как бы вы отделили изображения от вредоносных файлов? Во время этой задачи просто заблокируйте сохранение определенного файла.

0
ответ дан 4 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: