Иногда в скриптах нужна возможность аплоада файлов. Картинок на сервер, архивов, чего угодно. Делается это все несложно, однако есть опасность, что некто сумеет обойти ваши фильтры и таки закачает php скрипт. Существует два метода и оба с помощью .htaccess.
Вариант первый:
php_value engine Off
Это отключит интерпретацию и скрипты злоумышленника не будут работать. Только свои скрипты не кладите рядом, иначе любой сможет их скачать в виде исходных кодов. Но есть одно "НО". Нужно настроить опцию AllowOverride в конфиге Apache. Насколько я понял хватит AllowOverride Options. На shared хостингах, где PHP работает в CGI режиме, этой фичей воспользоваться не получится.
Вариант второй, предложенный :
RemoveHandler .php AddType application/x-httpd-php-source .php RemoveType .php Options -ExecCGI -Indexes
Этот метод совместим с большим количеством хостингов и на данный момент видится более предпочтительным.
А еще я писал про:










Октябрь 3rd, 2009 at 11:38
Спасибо что напомнил!
Полезная заметка.
Октябрь 6th, 2009 at 19:18
Прикольно, не знал… Теперь всегда буду добавлять данную защиту!
Ноябрь 25th, 2009 at 12:58
Для совмещения со всеми хостингами:
RemoveHandler .php
AddType application/x-httpd-php-source .php
RemoveType .php
Options -ExecCGI -Indexes
Ноябрь 25th, 2009 at 13:20
Спасибо, mihdan! Работает!
Ноябрь 25th, 2009 at 18:43
Желательно бы предусмотреть вариант, когда не только расширение .php отдается интерпретатору, поэтому стоит указать не одно, а несколько расширений файлов.
Ноябрь 26th, 2009 at 14:58
Я думаю, что в посте оставлю как есть. Это усредненный рецепт. А уж у кого какие расшрения настроены – сам разберется
Ноябрь 26th, 2009 at 19:08
Тут я с вами согласен, тем более, что все не угодишь.