Safe mode
Utiliser PHP en ligne de commande
Safe mode
PHP Manual

## Fonctions désactivées par le Safe Mode

Voici une liste non-exhaustive des fonctions désactivées par le Safe Mode.

Fonctions désactivées par le Safe Mode
Fonction | Limitations
--- | ---

dbmopen()

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

filepro()

> Note: 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()

> Note: 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()

> Note: 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()

> Note: 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()

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

chdir()

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

mkdir()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

rmdir()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

rename()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

unlink()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

copy()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

chown()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

chmod()

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

symlink()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: 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()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: 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 (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: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

(note : affectée uniquement depuis PHP 4.2.1)

parse_ini_file()

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

(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 sur les flux et sur le système de fichiers.

> Note: Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

> Note: 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.

Safe mode
Utiliser PHP en ligne de commande
Safe mode
PHP Manual