表 42-2. 安全模式限制函数
Function name | Restrictions |
---|---|
dbmopen() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
dbase_open() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
filepro() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
filepro_rowcount() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
filepro_retrieve() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
ifx_* | sql_safe_mode restriction, (!= safe mode) |
ingres_* | sql_safe_mode restriction, (!= safe mode) |
mysql_* | sql_safe_mode restriction, (!= safe mode) |
pg_loimport() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
posix_mkfifo() | Checks if the directory being manipulated has the same UID (owner) as the script being executed. |
putenv() | Follow the safe_mode_protected_env_vars and safe_mode_allowed_env_vars options set by the ini. Please refer to the relevant documentation of the putenv() function. |
move_uploaded_file() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
chdir() | Checks if the directory being manipulated has the same UID (owner) as the script being executed. |
dl() | This function is disabled in safe mode. |
backtick operator | This function is disabled in safe mode. |
shell_exec() (functionally the same as backticks function) | This function is disabled in safe mode. |
exec() | Execution operations can only be performed in the directory set by safe_mode_exec_dir. For some reason, it is currently not possible to use .. in the path of an executable object. escapeshellcmd() will be applied to the parameters of this function. |
system() | Execution operations can only be performed in the directory set by safe_mode_exec_dir. For some reason, it is currently not possible to use .. in the path of an executable object. escapeshellcmd() will be applied to the parameters of this function. |
passthru() | Execution operations can only be performed in the directory set by safe_mode_exec_dir. For some reason, it is currently not possible to use .. in the path of an executable object. escapeshellcmd() will be applied to the parameters of this function. |
popen() | Execution operations can only be performed in the directory set by safe_mode_exec_dir. For some reason, it is currently not possible to use .. in the path of an executable object. escapeshellcmd() will be applied to the parameters of this function. |
fopen() | Checks if the directory being manipulated has the same UID (owner) as the script being executed. |
mkdir() | Checks if the directory being manipulated has the same UID (owner) as the script being executed. |
rmdir() | Checks if the directory being manipulated has the same UID (owner) as the script being executed. |
rename() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. |
unlink() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. |
copy() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. (on source and target ) |
chgrp() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
chown() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. |
chmod() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. In addition, SUID, SGID and sticky bits cannot be set |
touch() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. |
symlink() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. (Note: only test target) |
link() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. (Note: only test target) |
apache_request_headers() | In safe mode, headers starting with "authorization" (case sensitive) will not be returned. |
header() | In safe mode, if WWW-Authenticate is set, the uid of the current script will be added to the realm section of this header. |
PHP_AUTH variable | In safe mode, variables PHP_AUTH_USER , PHP_AUTH_PW and PHP_AUTH_TYPE are not available in $_SERVER . But anyway, you can still use REMOTE_USER to get the username (USER). (Note: Only valid after PHP 4.3.0) |
highlight_file(), show_source() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. (Note, only valid after version 4.2.1) |
parse_ini_file() | Checks if the file or directory being manipulated has the same UID (owner) as the script being executed. Check if the directory being manipulated has the same UID (owner) as the script being executed. (Note, only valid after version 4.2.1) |
set_time_limit() | Does not work in safe mode. |
max_execution_time | Does not work in safe mode. |
mail() | In safe mode, the fifth parameter is blocked. (Note, only affected since PHP 4.2.3) |
Any function that uses php4/main/fopen_wrappers.c | ?? |