LINUX.ORG.RU

Сообщения thenexus

 

Apache - open_basedir - ошибка

Форум — General

Добрый день, я не разбираюсь в администрировании веб-сервера. У меня проблема на сервере.

У меня на нем раньше можно было из одного пользователя обращаться к РНР файлам через РНР другого пользователя, вот пример:

<?php function testVar($var) { $var = str_replace('<','&lt;',$var); $var = str_replace('>','&gt;',$var); return $var; }

// код лежит в /home/user1/domains/example.ru/public_html/s.php $filename = '/home/user2/domains/example2.ru/public_html/index.php'; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); echo '<pre>'.testVar($contents); fclose($handle); ?>

Этот код выводит РНР код из файла index.php ДРУГОГО пользователя.

Мне нужно было чтобы этого делать было нельзя. Один человек мне однажды поковырял сервер и сделал, но появилась проблема с "open_basedir" - всегда выдавал ошибку если я делаю например следующее: 1. пишу в коде include '../file.php'; // тут из-за "../" выдавал ошибку про "open_basedir" 2. делаю скрипт "аплоуд файлов". 3. и вообще какие либо манипуляции с файлами не проходили, всегда выдавал одну и туже ошибку про open_basedir

Ошибка примерно такая: Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../configuration.php) is not within the allowed path(s): (VIRTUAL_DOCUMENT_ROOT:/tmp/) in /www/hmarka.net/r/o/robotwerder/home/site/index.php on line 21

(это не моя ошибка, но очень похожа на то что было у меня).

Я решал эту проблему прописывав в open_basedir путь к каждому своему сайту на сервере - но это ужасное решение.

Теперь мне человек попытался исправить это, и вернул так как было тогда, в начале и нечего больше сделать не смог.

Вопрос: как сделать так, чтобы тот скрипт который я привел в пример не срабатывал, чтобы не было доступа от одного пользователя к другому? И при этом чтобы не возникало проблем с "open_basedir".

p.s. Имею полный доступ к физическому серверу. Вот некоторая информация: Apache 2.2.11 DirectAdmin 1.33.6 Exim 4.69 MySQL 5.0.51a Named 9.3.4 ProFTPd 1.3.1 sshd dovecot 1.1.10 PHP Version 5.2.9

Apache он мне говорит работает как модуль.

thenexus
()

RSS подписка на новые темы