It seems that glob and file_exists functions are also restricted in safe-mode.
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. |
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...