Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php.ini
 
 автор: dima2207   (19.01.2010 в 08:40)   письмо автору
 
 

всем привет !
есть /etc/php.ini там как я понимаю лежат глобальные настройки пхп.
нужно определить для одного сайта свои настройки пхп тоесть разрешить некоторые запрещенные в глобальных настройках функции пхп типа shell , open_proc и т.д.
как это сделать ?

  Ответить  
 
 автор: t3ma   (19.01.2010 в 08:56)   письмо автору
 
   для: dima2207   (19.01.2010 в 08:40)
 

Пропишите в .htaccess

  Ответить  
 
 автор: dima2207   (19.01.2010 в 09:11)   письмо автору
 
   для: t3ma   (19.01.2010 в 08:56)
 

приведите пожалуйста пример

  Ответить  
 
 автор: sim5   (19.01.2010 в 09:17)   письмо автору
 
   для: t3ma   (19.01.2010 в 08:56)
 

Это устанавливается опцией disable_functions, а описание гласит:
disable_functions изменяемая PHP_INI_SYSTEM
PHP_INI_SYSTEM - вхождение может быть установлено в php.ini или в httpd.conf

  Ответить  
 
 автор: dima2207   (19.01.2010 в 09:35)   письмо автору
 
   для: sim5   (19.01.2010 в 09:17)
 

я понял , но вот так не работает :

Alias /some_url /var/log/nginx
<Directory /var/log/nginx>
    RemoveHandler .php  .php3 .php4 .phtml
    AddType application/x-httpd-php .php  .php3 .php4 .phtml
    php_admin_value open_basedir none
    php_admin_value upload_tmp_dir /tmp
    php_admin_value session.save_path "/tmp"
    php_admin_value include_path .:..
    php_admin_value safe_mode off
    php_admin_value disable_functions " "
    DirectoryIndex index.php
    Order allow,deny
        allow from all
</Directory>

  Ответить  
 
 автор: sim5   (19.01.2010 в 09:50)   письмо автору
 
   для: dima2207   (19.01.2010 в 09:35)
 

php_admin_value “disable_functions” “popen,exec,system”, например, и в phpinfo() вы увидите правильное значение disable_functions, однако “отключенные” функции будут продолжать действовать, т.к. disable_functions работает только когда включен в глобальном php.ini.
Разработчики объясняют это тем, что отключать функции на уровне конфигурации апача очень накладно, гораздо проще выключить их вообще из php.ini

  Ответить  
 
 автор: dima2207   (19.01.2010 в 09:57)   письмо автору
 
   для: sim5   (19.01.2010 в 09:50)
 

иными словами не получится разрешить запрещенные глобально функции для определенных пользователей ?

  Ответить  
 
 автор: sim5   (19.01.2010 в 10:00)   письмо автору
 
   для: dima2207   (19.01.2010 в 09:57)
 

Вы речь ведете о сайтах или пользователях?

  Ответить  
 
 автор: dima2207   (19.01.2010 в 10:03)   письмо автору
 
   для: sim5   (19.01.2010 в 10:00)
 

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

  Ответить  
 
 автор: sim5   (19.01.2010 в 10:13)   письмо автору
 
   для: dima2207   (19.01.2010 в 10:03)
 

Ну если единый php и его настройки для них, то....

  Ответить  
 
 автор: dima2207   (19.01.2010 в 10:46)   письмо автору
 
   для: sim5   (19.01.2010 в 10:13)
 

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

  Ответить  
 
 автор: sim5   (19.01.2010 в 10:59)   письмо автору
 
   для: dima2207   (19.01.2010 в 10:46)
 

Поищите в сети решение проблемы, может быть и есть, и которое вас удовлетворит.

  Ответить  
 
 автор: dima2207   (19.01.2010 в 18:10)   письмо автору
 
   для: sim5   (19.01.2010 в 10:59)
 

нашол тут же , далеко ходить не пришлось http://www.softtime.ru/info/apache.php?id_article=97 но в итоге :

Alias /some_url /var/www/12
<Directory /var/www/12>
       Options FollowSymLinks
        AllowOverride All 
    RemoveHandler .php  .php3 .php4 .phtml
    AddType application/x-httpd-php .php  .php3 .php4 .phtml
    php_admin_value open_basedir none
    php_admin_value upload_tmp_dir /tmp
    php_admin_value session.save_path "/tmp"
    php_admin_value include_path .:..
    php_admin_value safe_mode off
php_admin_value disable_functions " "
    DirectoryIndex index.php
    Order allow,deny
    Allow from all
</Directory>


получается:
Internal Server Error

  Ответить  
 
 автор: sim5   (19.01.2010 в 18:27)   письмо автору
 
   для: dima2207   (19.01.2010 в 18:10)
 

Не будет это работать, пока не будет указано в php.ini.
А что за функции вы ходите запретить/разрешить?

  Ответить  
 
 автор: dima2207   (19.01.2010 в 18:37)   письмо автору
 
   для: sim5   (19.01.2010 в 18:27)
 

у меня на сервере запрещены следующие :

disable_functions = dl,phpinfo,rmdir,shell_exec, passthru, system, highlight_file, show_source, ini_alter, 
disk_free_space, diskfreespace, leak, ssthru, proc_nice, show_source, openlog, apache_get_modules, 
apache_get_version, apache_note, apache_setenv, ini_restore, symlink, escapeshellarg, escapeshellcmd, 
ini_alter, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, posix_kill, posix_mkfifo, 
posix_setpgid, posix_setsid, posix_setuid, ssh2_exec, pcntl_exec, ini_restore, ioctl, exec


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

  Ответить  
 
 автор: sim5   (19.01.2010 в 18:45)   письмо автору
 
   для: dima2207   (19.01.2010 в 18:37)
 

Есть решение - это разделение конфигурации для CLI и Web. А вот другого я не знаю.

  Ответить  
 
 автор: dima2207   (19.01.2010 в 18:49)   письмо автору
 
   для: sim5   (19.01.2010 в 18:45)
 

во , именно это меня и интересует ! подскажите литературу по теме .

  Ответить  
 
 автор: sim5   (19.01.2010 в 18:56)   письмо автору
 
   для: dima2207   (19.01.2010 в 18:49)
 

Ну это решение в сети "на каждой странице" в сети описано :) У вас же, насколько я понимаю, работа двух сайтов, это web интерфейс, а не командная строка у второго, чем же это вам подходит?

  Ответить  
 
 автор: dima2207   (19.01.2010 в 19:29)   письмо автору
 
   для: sim5   (19.01.2010 в 18:56)
 

вроде бы разобрался , но все равно не работает , я делаю:
копирую пхп.ини в /usr/local и в хттпд.конф в секции нужного мне домена вписываю PHPIniDir /usr/local
рестарчу апач и нифига , он почесуто берет второй конфиг за дефолтный .
почему так происходит ? что я упустил ?

  Ответить  
 
 автор: sim5   (20.01.2010 в 06:41)   письмо автору
 
   для: dima2207   (19.01.2010 в 19:29)
 

Я так понимаю, что вы воспользовались этим советом:

...шелл вызовы достаточно часто используются в CLI скриптах, в то время как в веб скриптах в большинстве случаев их можно отключить. Значит нужно разделить конфиги CLI и Web. В первом конфиге оставить шелл вызовы, а во втором, более подверженном хаку, их отключить.

Предположим, что дефолтный конфиг php.ini лежит в /usr/local/lib (стандартное место на FreeBSD). Скопируем его в /usr/local/etc/apache2. И на новом месте пропишем нужные disable_functions. Далее, в httpd.conf пишем:

PHPIniDir /usr/local/etc/apache2/conf


Но ведь тут речь идет о работе из командной строки в одном случае, и web интерфейсе в другом. Ваши "доверенные" будут допущены к командной строке?

  Ответить  
 
 автор: dima2207   (20.01.2010 в 20:36)   письмо автору
 
   для: sim5   (20.01.2010 в 06:41)
 

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

  Ответить  
 
 автор: sim5   (21.01.2010 в 05:29)   письмо автору
 
   для: dima2207   (20.01.2010 в 20:36)
 

И не будет работать так, как вам надо, так как это совсем для иного.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования