Fonctions désactivées par le Safe Mode
Voici une liste non-exhaustive des fonctions désactivées par le Safe Mode.
| Fonction | Limitations |
|---|---|
| dbmopen() |
|
| dbase_open() |
|
| filepro() |
|
| filepro_rowcount() |
|
| filepro_retrieve() |
|
| Fonctions ifx_* | restrictions sql_safe_mode, (!= Safe Mode) |
| Fonctions ingres_* | restrictions sql_safe_mode, (!= Safe Mode) |
| Fonctions mysql_* | restrictions sql_safe_mode, (!= Safe Mode) |
| pg_lo_import() |
|
| posix_mkfifo() |
|
| putenv() | Obéit aux directives safe_mode_protected_env_vars et safe_mode_allowed_env_vars. Voir aussi la documentation de putenv() |
| move_uploaded_file() |
|
| chdir() |
|
| dl() | Cette fonction est désactivée par le safe-mode |
| opérateur guillemets obliques | Cette fonction est désactivée par le safe-mode |
| shell_exec() (équivalent fonctionnel des guillemets obliques) | Cette fonction est désactivée par le safe-mode |
| exec() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction. |
| system() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction. |
| passthru() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction. |
| popen() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction. |
| fopen() |
|
| mkdir() |
|
| rmdir() |
|
| rename() |
|
| unlink() |
|
| copy() |
(sur source et target ) |
| chgrp() |
|
| chown() |
|
| chmod() | De plus, vous ne pouvez pas modifier les SUID, SGID et le bit sticky |
| touch() |
|
| symlink() |
(note : seule l'hôte cible est vérifié) |
| link() |
(note : seul le fichier de destination est vérifié.) |
| apache_request_headers() | En Safe Mode, les en-têtes commençant par authorization (sensible à la casse) ne seront pas retournés. |
| header() | Avec le safe mode, le uid du script est ajouté à la partie realm de l'en-tête WWW-Authenticate si vous utilisez cet en-tête pour l'identification. |
| variables PHP_AUTH | Avec le safe mode, les variables PHP_AUTH_USER, PHP_AUTH_PW et PHP_AUTH_TYPE ne sont pas disponibles dans la variable $_SERVER. Indépendamment, vous pouvez utiliser la variable REMOTE_USER pour connaître l'utilisateur. (note : affectée uniquement depuis PHP 4.3.0) |
| highlight_file(), show_source() |
(note : affectée uniquement depuis PHP 4.2.1) |
| parse_ini_file() |
(note : affectée uniquement depuis PHP 4.2.1) |
| set_time_limit() | N'a aucun effet lorsque PHP fonctionne avec le safe mode. |
| max_execution_time | N'a aucun effet lorsque PHP fonctionne avec le safe mode. |
| mail() | Si le safe mode est actif, le 5ème paramètre est désactivé (note : uniquement affecté depuis PHP 4.2.3) |
| Toutes les fonctions qui utilisent les gestionnaires de fichiers. (php4/main/fopen_wrappers.c) | ?? |