Voici une liste non-exhaustive des fonctions désactivées par le Safe Mode.
| Fonction | Limitations |
|---|---|
| dbmopen() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| dbase_open() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| filepro() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| filepro_rowcount() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| filepro_retrieve() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| 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() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| posix_mkfifo() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| 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() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| chdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| 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() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| mkdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| rmdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| rename() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| unlink() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| copy() | Vérifie que le fichier/dossier que vous
allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous
allez utiliser a le même UID que le script qui est actuellement exécuté. (sur
source et
target) |
| chgrp() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| chown() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| chmod() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. De plus, vous ne pouvez pas modifier les SUID, SGID et le bit sticky |
| touch() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| symlink() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : seule l'hôte cible est vérifié) |
| link() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : seul le fichier de destination est vérifié.) |
| apache_request_headers() | En Safe Mode, les en-têtes commençant par authorization (insensible à 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() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| parse_ini_file() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. |
| 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é. |
| session_start() | Le propriétaire d'un script doit être le même que celui que celui du répertoire session.save_path si le répertoire par défaut session.save_handler est utilisé. |
| Toutes les fonctions sur les flux et sur le système de fichiers. | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (Voir l'option safe_mode_include_dir du php.ini. |