Questo è un elenco probabilmente ancora incompleto e forse non esatto delle funzioni limitate dalla modalità sicura.
| Funzioni | Limitazioni |
|---|---|
| dbmopen() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| dbase_open() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| filepro() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| filepro_rowcount() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| filepro_retrieve() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| ifx_* | restrizioni sql_safe_mode, (!= safe mode) |
| ingres_*() | restrizioni sql_safe_mode, (!= safe mode) |
| mysql_*() | restrizioni sql_safe_mode, (!= safe mode) |
| pg_lo_import() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| posix_mkfifo() | Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| putenv() | Obbedisce le direttive del file ini safe_mode_protected_env_vars e safe_mode_allowed_env_vars. Vedere la documentazione relativa on putenv() |
| move_uploaded_file() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| chdir() | Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| dl() | Questa funzione è disabilitata nella modalitàsafe-mode |
| operatore backtick | Questa funzione è disabilitata nella modalitàsafe-mode |
| shell_exec() (equivalente funzionale ai backtick) | Questa funzione è disabilitata nella modalitàsafe-mode |
| exec() | Si possono avviare solo i programmi all'interno di safe_mode_exec_dir. Per ragioni pratiche non è al momento possibile utilizzare il .. nel percorso dell'eseguibile. escapeshellcmd() viene eseguita sugli argomenti di questa funzione. |
| system() | Si possono avviare solo i programmi all'interno di safe_mode_exec_dir. Per ragioni pratiche non è al momento possibile utilizzare il .. nel percorso dell'eseguibile. escapeshellcmd() viene eseguita sugli argomenti di questa funzione. |
| passthru() | Si possono avviare solo i programmi all'interno di safe_mode_exec_dir. Per ragioni pratiche non è al momento possibile utilizzare il .. nel percorso dell'eseguibile. escapeshellcmd() viene eseguita sugli argomenti di questa funzione. |
| popen() | Si possono avviare solo i programmi all'interno di safe_mode_exec_dir. Per ragioni pratiche non è al momento possibile utilizzare il .. nel percorso dell'eseguibile. escapeshellcmd() viene eseguita sugli argomenti di questa funzione. |
| fopen() | Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| mkdir() | Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| rmdir() | Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| rename() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| unlink() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| copy() | Controlla che i file o le directory su cui si sta
lavorando, abbiano lo stesso UID dello script che è
in esecuzione. Controlla che la directory su cui si sta
lavorando, abbia lo stesso UID dello script che è
in esecuzione. (on
source and
target) |
| chgrp() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| chown() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. |
| chmod() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Inoltre, non si possono impostare SUID, SGID e sticky bits |
| touch() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. |
| symlink() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. (nota: solo il file di destinazione è verificato) |
| link() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. (nota: solo il file di destinazione è verificato) |
| apache_request_headers() | In safe mode, gli header che cominciano con authorization (case-insensitive) non saranno restituiti. |
| header() | Quando si è in modalità sicura, l'uid dello script viene aggiunto al realm dell'header WWW-Authenticate nel caso questo header venga impostato (usato per l'autenticazione HTTP). |
| varabili PHP_AUTH | In modalità sicura, le variabili PHP_AUTH_USER, PHP_AUTH_PW e AUTH_TYPE non sono disponibili in $_SERVER. Si può comunque usare REMOTE_USER per conoscere l'utilizzatore. (nota: solo dal PHP 4.3.0) |
| highlight_file(), show_source() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. (nota: solo dal PHP 4.2.1) |
| parse_ini_file() | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. (nota: solo dal PHP 4.2.1) |
| set_time_limit() | Non ha effetto quando PHP è eseguito in modalità sicura. |
| max_execution_time | Non ha effetto quando PHP è eseguito in modalità sicura. |
| mail() | In safe mode, il quinto parametro è disabilitato. (nota: solo dal PHP 4.2.3) |
| session_start() | Il proprietario dello script deve esserlo anche della cartella session.save_path se viene usato il session.save_handler di default, files. |
| tutte le funzioni di filesystem e stream. | Controlla che i file o le directory su cui si sta lavorando, abbiano lo stesso UID dello script che è in esecuzione. Controlla che la directory su cui si sta lavorando, abbia lo stesso UID dello script che è in esecuzione. (vedere l'opzione safe_mode_include_dir in php.ini. |