在php中safe_mode模式為安全模式,開啟後可以給網站強安全性,但同時也會對一些函數產生影響,下面我們總結了 safe_mode模式對那些具體函數有影響,有需要的朋友可參考一下。
函數名 限制
dbmopen() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
dbase_open() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
filepro() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
filepro_rowcount() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
filepro_retrieve() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
ifx_* sql_safe_mode 限制, (!= safe mode)
ingres_* sql_safe_mode 限制, (!= safe mode)
mysql_* sql_safe_mode 限制, (!= safe mode)
pg_loimport() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
posix_mkfifo() 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
putenv() 遵循 ini 設置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 選項。請參考 putenv() 函數的有關文檔。
move_uploaded_file() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
chdir() 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
dl() 本函數在安全模式下被禁用。
backtick operator 本函數在安全模式下被禁用。
shell_exec()(在功能上和 backticks 函數相同) 本函數在安全模式下被禁用。
exec() 只能在 safe_mode_exec_dir 設置的目錄下進行執行操作。基於某些原因,目前不能在可執行對象的路徑中使用 ..。escapeshellcmd() 將被作用於此函數的參數上。
system() 只能在 safe_mode_exec_dir 設置的目錄下進行執行操作。基於某些原因,目前不能在可執行對象的路徑中使用 ..。escapeshellcmd() 將被作用於此函數的參數上。
passthru() 只能在 safe_mode_exec_dir 設置的目錄下進行執行操作。基於某些原因,目前不能在可執行對象的路徑中使用 ..。escapeshellcmd() 將被作用於此函數的參數上。
popen() 只能在 safe_mode_exec_dir 設置的目錄下進行執行操作。基於某些原因,目前不能在可執行對象的路徑中使用 ..。escapeshellcmd() 將被作用於此函數的參數上。
fopen() 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
mkdir() 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
rmdir() 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
rename() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
unlink() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
copy() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。 (on source and target )
chgrp() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
chown() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。
chmod() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 另外,不能設置 SUID、SGID 和 sticky bits
touch() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。
symlink() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。 (注意:僅測試 target)
link() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。 (注意:僅測試 target)
apache_request_headers() 在安全模式下,以“authorization”(區分大小寫)開頭的標頭將不會被返回。
header() 在安全模式下,如果設置了 WWW-Authenticate,當前腳本的 uid 將被添加到該標頭的 realm 部分。
PHP_AUTH 變量 在安全模式下,變量 PHP_AUTH_USER、PHP_AUTH_PW 和 PHP_AUTH_TYPE 在 $_SERVER 中不可用。但無論如何,您仍然可以使用 REMOTE_USER 來獲取用戶名稱(USER)。(注意:僅 PHP 4.3.0 以後有效)
highlight_file(), show_source() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。 (注意,僅在 4.2.1 版本後有效)
parse_ini_file() 檢查被操作的文件或目錄是否與正在執行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與正在執行的腳本有相同的 UID(所有者)。 (注意,僅在 4.2.1 版本後有效)
set_time_limit() 在安全模式下不起作用。
max_execution_time 在安全模式下不起作用。
mail() 在安全模式下,第五個參數被屏蔽