2

Я хочу подключить свой домашний сервер к сети для частного использования (используя 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 НЕ работает в "безопасном режиме", теперь я не хочу переводить свой сервер в оперативный режим до того, как это произойдет, может кто-нибудь сказать мне, как исправить эту ошибку, я гуглил ее, но это не помогло

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

1 ответ1

1

Я просто отмечаю, что вы не заполнили 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .