Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP Скрипт не видит ничего за рамкой директори

1.9K
14 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Нужно ограничить видимость скрипта, чтобы скрипт не мог ничего "видеть" за пределами своей директории.

Например, есть скрипт
/user1/script1.php
/user1/dir/script2.php
/user2/script3.php
/user2/script4.php

В таком случае скрипт script1.php видит script2.php, но не видит script3.php или script4.php

Кроме того, есть главный скрипт, который может включать любой скрипт из любой директории на сервере. И если он включит скрипт script1.php, тогда содержимое script1.php должно "виедеть" только свою директорию и выше нее (но не глубже)

Вот такаая задачка есть.
8
15 ноября 2006 года
mfender
3.5K / / 15.06.2005
А сейчас они как друг-друга видят? Насколько я знаю PHP и вообще понимаю программирование, для их видимости надо хотя бы написать require "script.php"; А если этого не делать, гы-гы, то хоть стрэляйся - не увидит...
1.9K
15 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Понимаешь, если позволить в директорию /user1/ выкладывать скрипты определенному пользователю, тогда он может написать программу обхода всех директорий (сканирование каталогов) и найти другие файлы на сервере, которые лежат за пределами его директории. Он сможет включить или скопировать эти файлы себе спокойно в директорию и пользоваться ими. Этого нужно избежать.
2
15 ноября 2006 года
squirL
5.6K / / 13.08.2003
в общем случае - никак. нужно использовать что то вроде suEXEC или suPHP
15K
15 ноября 2006 года
eviluo
30 / / 30.10.2006
[QUOTE=eliteMOBILE.net]Понимаешь, если позволить в директорию /user1/ выкладывать скрипты определенному пользователю, тогда он может написать программу обхода всех директорий (сканирование каталогов) и найти другие файлы на сервере, которые лежат за пределами его директории. Он сможет включить или скопировать эти файлы себе спокойно в директорию и пользоваться ими. Этого нужно избежать.[/QUOTE]

пользователю урезать права на чтение других каталогов...
1.9K
15 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
eviluo как ???
2
15 ноября 2006 года
squirL
5.6K / / 13.08.2003
[quote=eviluo]пользователю урезать права на чтение других каталогов...[/quote]
какому пользователю ты будешь права резать? любой скрипт исполняется от имени пользователя apache.
8
15 ноября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=eliteMOBILE.net]Понимаешь, если позволить в директорию /user1/ выкладывать скрипты определенному пользователю, тогда он может написать программу обхода всех директорий (сканирование каталогов) и найти другие файлы на сервере, которые лежат за пределами его директории. Он сможет включить или скопировать эти файлы себе спокойно в директорию и пользоваться ими. Этого нужно избежать.[/QUOTE]
Секундочку. А какого пня все кому не попадя будут писать свои буквы и запускать их на чьём-то серванте? Это противоречит всему мыслимому. Если у каждого своё, то должен быть для каждого виртуальный сервер.
2
15 ноября 2006 года
squirL
5.6K / / 13.08.2003
[quote=mfender] Если у каждого своё, то должен быть для каждого виртуальный сервер.[/quote]ё
плюс тонна настроек php в httpd.conf для каждого виртуального хоста.
1.9K
26 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
mfender, это нужно по причине того, что есть один общий проект. Над проектом трудятся десяток программистов. Каждый - делает свою часть. Есть главный программист, который имеет доступ к тому, к чему доступ не могут иметь другие программисты.

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

Надеюсь, что в этот раз я смог прояснить ситуацию.
Кстати, спасибо что псогласились помочь. Я благодарен.
274
26 ноября 2006 года
Lone Wolf
1.3K / / 26.11.2006
1. что-то я не понял смысла всего этого? Проэкт один? ты хочеш избежать переписывания одно участка кода разными програмистами? тогда не проще ли использывать SVN, к примеру?
2. Если группа программеров трудятся вместе, то какого они будут включать в свои проэкты чужие файлы? ловить чужие баги?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог