Как вставить php код на все сайты в apache?

интернет компьютеры программирование php apache

Ситуация такова, есть несколько сайтов, в самый низ страницы требуется вставить php код.
Воспользовался этим так, в httpd.conf внес следующую строчку:
php_value auto_append_file "C:/Server/script.php"
Но появился конфликт, в каждом хосте, в конфиге имеется ограничение:
php_admin_value open_basedir "C:/Server/www/name.ru" , поэтому он не может прочитать этот файл.
Можно открыть доступ к папке C:/Server/, т.е. php_admin_value open_basedir "C:/Server/", но тогда будет доступ к чтению всего и даже самого файла script.php, я не хочу чтобы содержимое данного файла было прочтено другими пользователями.

ps. каждому хосту выдается ftp на его папку.

Примечание:
дело в том что пользователь может на ftp в папку C:/Server/site.ru/ залить скрипт подобного содержания:
$file = "C:/Server/script.php";
$newfile = "C:/Server/site.ru/script.php";
if (!copy($file, $newfile)) {
echo "не удалось скопировать $file...\n";
}
Выполнив его, он получит точно такой же файл script.php, а уже в дальнейшем скачать его и просмотреть.
Так же черевато fwrite, script.php может быть переписан на любой другой код.
Чего собственно и пытаюсь добиться, чтобы доступ к script.php имел только auto_prepend_file

Примечание:
К script.php может нельзя, а как насчет остальных файлов лежащих в c:/server/ ?

Примечание:
да хоть на диске D, мне нужно чтобы его мог читать auto_append_file, но не могли читать стороние скрипты.
Ответы:
в php >= 5.3.0 open_basedir можно менять с помощью ini_set, но определённым образом: его можно только "уточнять", т.е. можно изменить "C:/Server/" на "C:/Server/site.ru/", но не на "C:/" и "C:/xyz/".
так что предлагается такое решение:
1) в основном конфиге поставить php_value (не admin_value, а просто value, иначе его больше нельзя будет изменить) open_basedir "C:/Server/"
2) вместо auto_append_file использовать auto_prepend_file, в котором перво-наперво затянуть open_basedir потуже, до уровня "C:/Server/site.ru/"
3) для достижения нужного эффекта (выполнять код в конце работы скрипта), использовать register_shutdown_function - оно так и правильнее, потому что auto_append_file можно обойти использованием exit().
> дело в том что пользователь может на ftp в папку C:/Server/site.ru/ залить скрипт подобного содержания:
А если директорию со скриптом пониже сделать? Ну типа "C:/Server/scripts/script.php" и дать доступ именно к этой директории на чтение...


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.