PHP 的安全模式是為了試圖解決共享伺服器(shared-server)安全問題而設立的。在結構上,試圖在 PHP 層上解決這個問題是不合理的,但修改 WEB 伺服器層和操作系統層顯得非常不現實。因此許多人,特別是 ISP,目前使用安全模式。
保安措施和安全模式
表格 22-1. 保安措施和安全模式配置指令
| 名稱 | 預設值 | 作用範圍 |
|---|---|---|
| safe_mode | "0" | PHP_INI_SYSTEM |
| safe_mode_gid | "0" | PHP_INI_SYSTEM |
| safe_mode_include_dir | NULL | PHP_INI_SYSTEM |
| safe_mode_exec_dir | "" | PHP_INI_SYSTEM |
| safe_mode_allowed_env_vars | PHP_ | PHP_INI_SYSTEM |
| safe_mode_protected_env_vars | LD_LIBRARY_PATH | PHP_INI_SYSTEM |
| open_basedir | NULL | PHP_INI_SYSTEM |
| disable_functions | "" | PHP_INI_SYSTEM |
這裡是配置指令的一些簡短解釋。
- safe_mode boolean
是否啟用 PHP 的安全模式。更多訊息請閱讀安全一章。
- safe_mode_gid boolean
預定情況下,安全模式在打開文件時會做 UID 比較檢查。如果你想將其放寬到 GID 比較,則打開 safe_mode_gid。是否在文件連接時使用 UID(FALSE)或者 GID(TRUE)來做檢查。
- safe_mode_include_dir string
當從此目錄及其子目錄(目錄必須在 include_path 中或者用完整路徑來包含)包含文件時越過 UID/GID 檢查。
從 PHP 4.2.0 開始,本指令可以接受和 include_path 指令類似的風格用分號隔開的路徑,而不只是一個目錄。
- safe_mode_exec_dir string
本文关键:章 22. 安全模式