It seems that glob and file_exists functions are also restricted in safe-mode.
This is a still probably incomplete and possibly incorrect listing of the functions limited by safe mode.
Function | Limitations |
---|---|
dbmopen() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
dbase_open() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
filepro() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
filepro_rowcount() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
filepro_retrieve() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
ifx_* | sql_safe_mode restrictions, (!= safe mode) |
ingres_* | sql_safe_mode restrictions, (!= safe mode) |
mysql_* | sql_safe_mode restrictions, (!= safe mode) |
pg_lo_import() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
posix_mkfifo() | Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
putenv() | Obeys the safe_mode_protected_env_vars and safe_mode_allowed_env_vars ini-directives. See also the documentation on putenv() |
move_uploaded_file() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
chdir() | Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
dl() | Această funcție este dezactivată atunci când PHP rulează în modul securizat. |
backtick operator | Această funcție este dezactivată atunci când PHP rulează în modul securizat. |
shell_exec() (functional equivalent of backticks) | Această funcție este dezactivată atunci când PHP rulează în modul securizat. |
exec() | You can only execute executables within the safe_mode_exec_dir.
For practical reasons it's currently not allowed to have
.. components in the path to the executable.
escapeshellcmd() is executed on the argument of this
function. |
system() | You can only execute executables within the safe_mode_exec_dir.
For practical reasons it's currently not allowed to have
.. components in the path to the executable.
escapeshellcmd() is executed on the argument of this
function. |
passthru() | You can only execute executables within the safe_mode_exec_dir.
For practical reasons it's currently not allowed to have
.. components in the path to the executable.
escapeshellcmd() is executed on the argument of this
function. |
popen() | You can only execute executables within the safe_mode_exec_dir.
For practical reasons it's currently not allowed to have
.. components in the path to the executable.
escapeshellcmd() is executed on the argument of this
function. |
fopen() | Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
mkdir() | Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
rmdir() | Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
rename() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
unlink() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
copy() | Verifică dacă fișierele și directoarele cu care se
operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are
același UID (proprietar) ca și script-ul ce se execută. (on
source and
target ) |
chgrp() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
chown() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. |
chmod() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. In addition, you cannot set the SUID, SGID and sticky bits |
touch() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
symlink() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. (note: only the target is checked) |
link() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. (note: only the target is checked) |
apache_request_headers() | In safe mode, headers beginning with authorization
(case-insensitive) will not be returned. |
header() | In safe mode, the uid of the script is added to the
realm part of the
WWW-Authenticate header if you set this
header (used for HTTP Authentication). |
PHP_AUTH variables | In safe mode, the variables PHP_AUTH_USER, PHP_AUTH_PW, and AUTH_TYPE are not available in $_SERVER. Regardless, you can still use REMOTE_USER for the USER. (note: only affected since PHP 4.3.0) |
highlight_file(), show_source() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
parse_ini_file() | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. |
set_time_limit() | Has no effect when PHP is running in modul securizat. |
max_execution_time | Has no effect when PHP is running in modul securizat. |
mail() | In safe mode, the fifth parameter is disabled. |
session_start() |
The owner of a script must be the same as owner of a session.save_path directory if
the default files session.save_handler is
used.
|
All filesystem and stream functions. | Verifică dacă fișierele și directoarele cu care se operează au același UID (proprietar) ca și script-ul care se execută. Verifică dacă directorul în care se operează are același UID (proprietar) ca și script-ul ce se execută. (see the safe_mode_include_dir php.ini option. |
refers to the previuos posting of
bananarama
15-May-2006 10:11
"all file-handling and -management functions are restricted, just in case someones wondering why they're not listed here.
a script can run these functions on files without errors, if the files were created (are owned) by the same UID, the script was created (is owned) by."
.... or if the directory, in which the file is located, has the same UID as the script, which tries to use a file in that directory...