Как включить безопасный режим для php.ini в Xampp?

12611
rzlines

Я хочу подключить свой домашний сервер к сети для частного использования (используя Xammp), поэтому мне нужно включить безопасный режим (моя ОС - Windows XP)

Так что я изменил конфиг php.ini в папке php, расположенной в xampp, так:

Safe Mode ; safe_mode = On  ; By default, Safe Mode does a UID compare check when ; opening files. If you want to relax this to a GID compare, ; then turn on safe_mode_gid. safe_mode_gid = On  ; When safe_mode is on, UID/GID checks are bypassed when ; including files from this directory and its subdirectories. ; (directory must also be in include_path or full path must ; be used when including) safe_mode_include_dir =  ; When safe_mode is on, only executables located in the safe_mode_exec_dir ; will be allowed to be executed via the exec family of functions. safe_mode_exec_dir =  ; Setting certain environment variables may be a potential security breach. ; This directive contains a comma-delimited list of prefixes. In Safe Mode, ; the user may only alter environment variables whose names begin with the ; prefixes supplied here. By default, users will only be able to set ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). ; ; Note: If this directive is empty, PHP will let the user modify ANY ; environment variable! safe_mode_allowed_env_vars = PHP_  ; This directive contains a comma-delimited list of environment variables that ; the end user won't be able to change using putenv(). These variables will be ; protected even if safe_mode_allowed_env_vars is set to allow to change them. safe_mode_protected_env_vars = LD_LIBRARY_PATH 

Но я все еще получаю, что PHP НЕ работает в «безопасном режиме», теперь я не хочу переводить свой сервер в оперативный режим до того, как это произойдет, может кто-нибудь сказать мне, как исправить эту ошибку, я гуглил ее, но это не помогло

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

2

1 ответ на вопрос

1
harrymc

Я просто отмечаю, что вы не заполнили, safe_mode_exec_dirи я надеюсь, что вы определили open_basedir. Для нескольких каталогов обязательно разделяйте пути точкой с запятой и заключайте в двойные кавычки всю строку пути. Например:

safe_mode= On
safe_mode_exec_dir = "F: \ WWW \ HTML; F: \ batfiles \ batch"
open_basedir= "F: \ WWW \ HTML; F: \ batfiles \ batch"

Кроме того, из PHP инструкции :

Безопасный режим устарел в PHP 5.3.0 и удален в PHP 6.0.0.

Из того же источника:

для NT (IIS) каждый виртуальный хост может работать от разных учетных записей пользователей, поэтому нет необходимости в ограничениях безопасного режима, если установлены надлежащие права NTFS.

+1 хороший ответ, но безопасный режим применим (сегодня) к xampp DaveParillo 15 лет назад 1