It seems that glob and file_exists functions are also restricted in safe-mode.
Esta es una lista —probablemente incompleta y posiblemente incorrecta— de las funciones limitadas por el modo seguro.
Función | Limitaciones |
---|---|
dbmopen() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
dbase_open() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
filepro() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
filepro_rowcount() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
filepro_retrieve() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
ifx_* | Restricciones de sql_safe_mode, (!= modo seguro) |
ingres_* | Restricciones de sql_safe_mode, (!= modo seguro) |
mysql_* | Restricciones de sql_safe_mode, (!= modo seguro) |
pg_lo_import() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
posix_mkfifo() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
putenv() | Obedece a las directivas ini safe_mode_protected_env_vars y safe_mode_allowed_env_vars. Véase también la documentación sobre putenv() |
move_uploaded_file() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
chdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
dl() | Esta función está deshabilitada cuando PHP se ejecuta en modo seguro. |
operador comillas invertidas | Esta función está deshabilitada cuando PHP se ejecuta en modo seguro. |
shell_exec() (equivalente funcional de las comillas invertidas) | Esta función está deshabilitada cuando PHP se ejecuta en modo seguro. |
exec() | Solamente se pueden ejecutar ejecutables dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no está permitido tener componentes .. en la ruta del ejecutable. escapeshellcmd() se ejecuta en el argumento de esta función. |
system() | Solamente se pueden ejecutar ejecutables dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no está permitido tener componentes .. en la ruta del ejecutable. escapeshellcmd() se ejecuta en el argumento de esta función. |
passthru() | Solamente se pueden ejecutar ejecutables dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no está permitido tener componentes .. en la ruta del ejecutable. escapeshellcmd() se ejecuta en el argumento de esta función. |
popen() | Solamente se pueden ejecutar ejecutables dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no está permitido tener componentes .. en la ruta del ejecutable. escapeshellcmd() se ejecuta en el argumento de esta función. |
fopen() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
mkdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
rmdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
rename() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
unlink() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
copy() | Comprueba si los ficheros o directorios que se van a utilizar
tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que
el script está operando tiene el mismo UID (propietario) que el script que está siendo
ejecutado. (Sobre
source y
target ) |
chgrp() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
chown() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. |
chmod() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Además, no se pueden establecer el SUID, el SGID y los bits adherentes |
touch() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
symlink() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (Nota: solamente se comprueba el objetivo) |
link() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (Nota: solamente se comprueba el objetivo) |
apache_request_headers() | En modo seguro, no se devolverán las cabeceras que comiencen con authorization (sin considerar mayúsculas/minúsculas). |
header() | En modo seguro, el UID del script se añade a la parte realm de la cabecera WWW-Authenticate si se establece esta cabecera (usada para Autenticación HTTP). |
Variables PHP_AUTH | En modo seguro, las variables PHP_AUTH_USER, PHP_AUTH_PW, y AUTH_TYPE no están disponibles en $_SERVER. En cualquier caso, se puede emplear aún REMOTE_USER para USER. (Nota: solamente se ve afectada desde PHP 4.3.0) |
highlight_file(), show_source() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
parse_ini_file() | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. |
set_time_limit() | No tiene efecto cuando PHP se está ejecutando en modo seguro. |
max_execution_time | No tiene efecto cuando PHP se está ejecutando en modo seguro. |
mail() | En modo seguro, el quinto parámetro está deshabilitado. |
session_start() | El propietario de un script debe ser el mismo que el propietario de un directorio de session.save_path si se emplea el gestor files predeterminado de session.save_handler. |
Todas las funciones de sistema de ficheros y flujos. | Comprueba si los ficheros o directorios que se van a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (Véase la opción safe_mode_include_dir de 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...