webew
Войти » Регистрация
 
Протоколы

Что такое application/x-httpd-php-source? и как правильно защитить папки с правами 777 для загрузки файлов?

25 марта 2013, 11:38
Автор: platedz
Здравствуйте, подскажите, пожалуйста. Решил, как-то осмысленно настроить безопасность для загружаемых файлов и папок с правами 777.

Раньше на всех файлах стояла такая строка

RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml


Я так понял RemoveHandler запрещает выполнение указанных файлов, точнее удаляет информацию о том, что данные файлы должны каким-либо образом обрабатываться.
А AddType отправляет заголовок content-type application/x-httpd-php-source для всех файлов. Не понятно только, что это за заголовок, и для чего служит?

Также решил еще добавить
<Files ~ "\.phtml|\.php|\.php3|\.php4|\.php5|\.php6|\.phps|\.cgi|\.exe|\.pl|\.asp|\.aspx|\.shtml|\.shtm|\.fcgi|\.fpl|\.jsp|\.htm|\.html|\.wml">
Order allow,deny
Deny from all
</Files>


Может еще Вы какие-нибудь советы дадите? Буду признателен.
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
NO USERPIC

rgbeast

AddType добавит Content-Type в HTTP-заголовок - это нужно, чтобы браузер показывал исходный код PHP как текст, а не пытался сохранить. Проще и понятнее написать AddType text/plain ...

Также, вы не знаете все расширения, которые могут быть ассоциированы в будущем с PHP, поэтому ваше решение ненадежно - если одно расширение пропущено, то это уязвимость. Надежнее отключить PHP:
php_flag engine off

На StackOverflow предложено решение, основанное на SetHandler default-handler
http://stackoverflow.com/questions/7454504/how-to-disable-cgi-in-htaccess-in-a-non-extension-dependant-way
25.03.2013, 13:41
Ответить
NO USERPIC

platedz

Большое спасибо за ответ, и за предоставленную информацию.

Тем не менее возникло еще несколько вопросов.

- Для чего все-таки предназначен тип application/x-httpd-php-source? Т.е не в данном случае, а в принципе. На что он указывает?

- Насколько знаю, не все настройки можно производить в htaccess. При этом я не говорю о отключении Htaccess в целом, а только о возможности настройки для тех или иных модулей сервера и/или php. Подскажите, пожалуйста, информацию по настройке самого htaccess.

- И подскажите, пожалуйста, а где указываются ассоциативные расширения для Php. в httpd.conf не нашел ничего подобного, хотя думал, что они указываются там явно.
25.03.2013, 14:51
Ответить
NO USERPIC

rgbeast

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

См. также директорию /etc/httpd/conf.d/
Например, там в php.conf указано:
AddHandler php5-script .php
AddType text/html .php


25.03.2013, 15:00
Ответить
NO USERPIC

platedz

По поводу SetHandler я, к сожалению, так и не разобрался.
SetHandler устанавливает обработчик. В данном случае настройки по умолчанию.
Не очень понятно, что имеется ввиду под обработчиком и какие у него настройки?
25.03.2013, 15:30
Ответить
NO USERPIC

rgbeast

default-handler обрабатывает как статический файл. См., например, http://httpd.apache.org/docs/2.2/ru/handler.html
25.03.2013, 22:05
Ответить
NO USERPIC

platedz

Большое спасибо за ответ. Теперь уже значительно яснее.
26.03.2013, 20:21
Ответить
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: