PHP Скрипт не видит ничего за рамкой директори
Например, есть скрипт
/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 должно "виедеть" только свою директорию и выше нее (но не глубже)
Вот такаая задачка есть.
А сейчас они как друг-друга видят? Насколько я знаю PHP и вообще понимаю программирование, для их видимости надо хотя бы написать require "script.php"; А если этого не делать, гы-гы, то хоть стрэляйся - не увидит...
Понимаешь, если позволить в директорию /user1/ выкладывать скрипты определенному пользователю, тогда он может написать программу обхода всех директорий (сканирование каталогов) и найти другие файлы на сервере, которые лежат за пределами его директории. Он сможет включить или скопировать эти файлы себе спокойно в директорию и пользоваться ими. Этого нужно избежать.
в общем случае - никак. нужно использовать что то вроде suEXEC или suPHP
пользователю урезать права на чтение других каталогов...
eviluo как ???
какому пользователю ты будешь права резать? любой скрипт исполняется от имени пользователя apache.
Секундочку. А какого пня все кому не попадя будут писать свои буквы и запускать их на чьём-то серванте? Это противоречит всему мыслимому. Если у каждого своё, то должен быть для каждого виртуальный сервер.
плюс тонна настроек php в httpd.conf для каждого виртуального хоста.
Для этих целей нужно сделать так, чтобы у каждого программиста была своя директория, в которую он будет складывать свои скрипты. Для избежания неприятных ситуаций, когда программист пытается включить в свой проект файл, расположенный за пределами его директории - то он должен будет получить предупреждение (ошибку) и это действие будет ему запрещено.
Надеюсь, что в этот раз я смог прояснить ситуацию.
Кстати, спасибо что псогласились помочь. Я благодарен.
2. Если группа программеров трудятся вместе, то какого они будут включать в свои проэкты чужие файлы? ловить чужие баги?