|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.02.2009, 15:34 | #1 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
Ограничение видимости скриптам
Выделил я под веб-сервер скажем каталог htdocs как это сделано в xampp.
Теперь можно создать там пхп скрипт и в нем создать функцию на удаление файла/каталога и запустить с параметром ../ например. И скрипт выйдет таким образом за пределы папки htdocs и таким образом можно весь диск удалить. Так вот: как можно поставить ограничение, чтобы скрипты могли оперировать только в заданной директории в во всех поддиректориях, но чтобы не могли получать доступ за пределами заданной директории. |
19.02.2009, 15:41 | #3 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
ну в общем то, интересуюсь как это делают на хостингах. Там ведь выйти за пределы директории не удается. Где и что и куда прописать для создания ограничей? Подозреваю что в httpd.conf нужно править....
|
19.02.2009, 20:49 | #4 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Например в linux создаем корневой для программы каталог с помошью команды chroot, и готово.
Но эта тема очень обширная и лучше ишите литературу...
Стрелок-охотник
|
19.02.2009, 21:56 | #5 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
ну вот дам я команду скрипту unlink('d:/file.txt');
или же для линукса unlink('usr/home/file.txt'); и полетит файл как миленький.... |
20.02.2009, 01:41 | #6 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
не апач надо настраивать, а РНР.
Там можно указать, какие функции нельзя использовать. Вот тут смотрите список нежелательных функций. Кстати, при включении "безопасного" режима, возможность их использования отключается автоматом. Но я бы не советовал юзать "безопасный" режим. |
20.02.2009, 16:45 | #7 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Переписано по причине неоднозначности высказываний.
Если кого-то ввёл в заблуждение извиняюсь. Существуют несколько ситуаций при которых может быть необходимо ограничить доступ php к файлам: 1)Защитить систему от взлома через уязвимости кода - те исключить доступ или удаление файлов через запросы пользователя. PHP работает с веб-сервером apache в нашем случае. У apache есть такой модуль как mod_security. C помошью этого модуля можно фильтровать всё запросы идущие через apache. Как работает читайте здесьwww.modsecurity.org. А так же рекомендуется использовать mod_rewrite, чтобы затруднить взлом. 2)Полностью ограничить доступ приложений - те вообще запретить и apache и php работу с файлами "выше" определённой директории. Для этого можно использовать chrooting. Средства chrooting, создают новую структуру корневого каталога, перемещая в него все файлы демона, и выполняя демон в новой среде. Те демон (и все дочерние процессы) будут работать с созданным нами каталогом. Ключевое слово здесь "дочерние процессы", тк php "у нас" работает как модуль Apache или cgi-приложение. PHP будет дочерним процессом и выше установленной нами chroot директории попасть не сможет. 3)Частично ограничить доступ php. Попытаться грамотно писать в safe_mode. Код:
Стрелок-охотник
Последний раз редактировалось mv28jam; 20.02.2009 в 18:54. Причина: пост Заслуженного модераторатора |
20.02.2009, 16:55 | #8 | |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Цитата:
Но соглашусь с вами по поводу изменения корневой директории - это, имхо наиболее хороший вариант. Последний раз редактировалось SkyM@n; 20.02.2009 в 16:57. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
область видимости процедур | Uli9 | Общие вопросы Delphi | 16 | 06.12.2008 21:09 |
область видимости переменных. С++ | Prestigio | Помощь студентам | 10 | 07.07.2008 15:55 |
ошибся с областью видимости ? | Иванчо | Общие вопросы Delphi | 8 | 25.10.2007 16:35 |
область видимости ? | artem779 | Общие вопросы Delphi | 3 | 14.09.2007 09:34 |