Текущий архив: 2006.02.26;
Скачать: CL | DM;
Вниз
Вопрос по PHP Найти похожие ветки
← →
Хинт © (2006-02-03 11:32) [0]У меня на сайте есть возможность загружать пользовательские файлы. Вроде сделал все проверки, чтобы обезопасить сайт (проверка на расширение и т.д.), но... если загрузить файл xxx.php.rar, то он всё равно может быть выполнен как скрипт, если к нему обратиться. Почему так происходит? Как этого избежать?
← →
McSimm © (2006-02-03 11:34) [1]Как минимум не стоит позволять аплоадить файлы в пространство от DocumentRoot.
И надо разобраться с настройками. Не думаю что выполнение .php.rar это нормальное поведение.
← →
Хинт © (2006-02-03 11:36) [2]А возможно ли запретить выполнение скриптов в отдельной папке?
И по поводу .php.rar - это же не я настраивал Apache (сайт на fatal"e)
← →
DSKalugin © (2006-02-03 11:44) [3]Проверил у себя... ЁМАЁ Внатуре! Да ты "дыроотрыватель"! Сейчас подумаю как этого избежать
← →
McSimm © (2006-02-03 11:44) [4]
> А возможно ли запретить выполнение скриптов в отдельной
> папке?
обычно файлы предпочтительно аплоадить во внешнюю относительно DocumentRoot папку -- там его никто не запустит через веб интерфейс.
/ftproot/
/upload/
xxx.php.rar
/htdocs/
index.php
← →
WondeRu © (2006-02-03 11:48) [5]Хинт © (03.02.06 11:36) [2]
А возможно ли запретить выполнение скриптов в отдельной папке?
можно
в .htaccess твоего каталога пишешь
AddType application/application/octet-stream .php
← →
WondeRu © (2006-02-03 11:49) [6]WondeRu © (03.02.06 11:48) [5]
ошибся
AddType application/octet-stream .php
← →
McSimm © (2006-02-03 11:50) [7]Или
RemoveType .php
← →
DSKalugin © (2006-02-03 11:51) [8]
> AddType application/octet-stream .php
не помогло
← →
vidiv © (2006-02-03 11:53) [9]Прошу обратить внимание, что, даже если файлами могут быть только картинки, и проверяются функцией getimagesize - всеравно надо обезопасить выполнение, ибо зловредный код можно вписать, например, в тех JPEG-а и пр.
← →
McSimm © (2006-02-03 11:55) [10]
> > AddType application/octet-stream .php
>
> не помогло
RemoveType .php тоже ?
.htaccess разрешены ?
> Не думаю что выполнение .php.rar это нормальное поведение.
Тут я ошибался. Документировано.
http://httpd.apache.org/docs/1.3/mod/mod_mime.html#multipleext
← →
DSKalugin © (2006-02-03 11:58) [11]RemoveHandler .php.rar не помогло
RemoveHandler .php не помогло
RemoveType .php не помогло
← →
WondeRu © (2006-02-03 12:00) [12]а если попробовать
AddType application/octet-stream .rar
← →
Хинт © (2006-02-03 12:00) [13]А мне RemoveType .php помогло
← →
WondeRu © (2006-02-03 12:02) [14]еще можно попробовать
<Location /upload>
ForceType application/octet-stream
</Location>
← →
McSimm © (2006-02-03 12:04) [15]
> RemoveType .php не помогло
А .htaccess вообще работает (обрабатываются) ?
Если бы был запрет именно на RemoveType - была бы ошибка.
PHP запускается как модуль или как cgi ?
← →
Хинт © (2006-02-03 12:08) [16]А RemoveType .php достаточно? Ведь насколько я помню существует еще обрабатываемые аналогично ".php" расширения...
← →
Хинт © (2006-02-03 12:08) [17]А RemoveType .php достаточно? Ведь насколько я помню существует еще обрабатываемые аналогично ".php" расширения...
← →
McSimm © (2006-02-03 12:24) [18]
> А RemoveType .php достаточ
нет.
получается, универсальный вариант
ForceType octet/stream
← →
DSKalugin © (2006-02-03 12:35) [19]пхп как модуль у меня
htaccess действительно был отключен в конфиге (AllowOverride None)
включил (AllowOverride All)
добавил строчку RemoveType .php
после чего браузер стал показывать "начинку", а не выполнять скрипт
<?php
phpinfo();
?>
← →
DSKalugin © (2006-02-03 12:43) [20]Вот так кладовки и ломают :-))
← →
McSimm © (2006-02-03 12:43) [21]
> стал показывать "начинку", а не выполнять скрипт
так и задумано, но тут автор ветки обратил внимание на тот факт, что правильно написать RemoveType в общем случае не удастся, т.к. не известно какие и сколько расширений зарегистрированы.
самый правильный на мой взгляд выход я писал выше - не ложите если этого можно избежать чужого в docementroot
ForceType выглядит неплохой альтернативой для других случаев
← →
umbra © (2006-02-03 12:43) [22]можно к загружаемым файлам дописывать отфонарное расширение и сделать
RemoveType .<расширение>
← →
Kerk © (2006-02-03 12:44) [23]DSKalugin © (03.02.06 12:43) [20]
Вот так кладовки и ломают :-))
Кладовку так взломать невозможно. :)
← →
McSimm © (2006-02-03 12:45) [24]
> umbra © (03.02.06 12:43) [22]
Это вы не подумавши написали
← →
umbra © (2006-02-03 12:56) [25]возможно. честно говоря, я совершенно не знаком с конфигурированием Апача. Насколько я понял из обсуждения, если сделать
RemoveType .<расширение>
, то выполнить файл с таким расширением в среде сервера будет невозможно. или я не прав?
← →
McSimm © (2006-02-03 13:01) [26]
> umbra © (03.02.06 12:56) [25]
не правы.
RemoveType удалит зарегистрированный в апаче MIME тип из рассмотрения, т.е. в вашем случае удалится тип для "отфанарного" расширения, которого и нет собственно.
Остальные расширения будут обрабатываться. Как, собственно, в случае с .php.rar
← →
Хинт © (2006-02-03 13:01) [27]По-моему .htaccess невозможно редактировать из скриптов. ИМХО.
2McSimm
ForceType octet/stream на самом деле лучший вариант (у меня вроде работает)
← →
Banzaj! (2006-02-04 02:16) [28]Хинт, ну, вроде, все! ) Разобрались.
Страницы: 1 вся ветка
Текущий архив: 2006.02.26;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.06 c