Esta continua sendo uma lista provavelmente incompleta e possivelmente incorreta de funcões limitadas pelo "safe mode".
| Funções | Limitações |
|---|---|
| dbmopen() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| dbase_open() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| filepro() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| filepro_rowcount() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| filepro_retrieve() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| ifx_* | sql_safe_mode restrictions, (!= safe mode) |
| ingres_* | sql_safe_mode restrictions, (!= safe mode) |
| mysql_* | sql_safe_mode restrictions, (!= safe mode) |
| pg_lo_import() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| posix_mkfifo() | Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| putenv() | Obedece as diretivas-ini safe_mode_protected_env_vars e safe_mode_allowed_env_vars. Veja também a documentação de putenv() |
| move_uploaded_file() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| chdir() | Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| dl() | Está função está desabilitada quando o PHP é rodado sob o safe mode. |
| backtick operator | Está função está desabilitada quando o PHP é rodado sob o safe mode. |
| shell_exec() (função equivalente ao backticks) | Está função está desabilitada quando o PHP é rodado sob o safe mode. |
| exec() | Poderá somente utilizar executáveis dentro do safe_mode_exec_dir. Por razões práticas, não é permitido possuir componentes .. no endereço do executável. escapeshellcmd() é executado como argumento desta função. |
| system() | Poderá somente utilizar executáveis dentro do safe_mode_exec_dir. Por razões práticas, não é permitido possuir componentes .. no endereço do executável. escapeshellcmd() é executado como argumento desta função. |
| passthru() | Poderá somente utilizar executáveis dentro do safe_mode_exec_dir. Por razões práticas, não é permitido possuir componentes .. no endereço do executável. escapeshellcmd() é executado como argumento desta função. |
| popen() | Poderá somente utilizar executáveis dentro do safe_mode_exec_dir. Por razões práticas, não é permitido possuir componentes .. no endereço do executável. escapeshellcmd() é executado como argumento desta função. |
| fopen() | Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| mkdir() | Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| rmdir() | Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| rename() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| unlink() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| copy() | Verifica se o arquivo ou diretório operados
tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde
o script está operando tem o mesmo UID (owner) que o script sendo
executado. (on
source and
target) |
| chgrp() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| chown() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. |
| chmod() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Além disso, não poderá alterar nem o SUID, nem o SGID, nem os sticky bits |
| touch() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| symlink() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. (nota: somente o alvo é verificado) |
| link() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. (nota: somente o alvo é verificado) |
| apache_request_headers() | No "safe mode" o cabeçalho authorization (case-insensitive) não é retornado. |
| header() | No "safe mode", o uid do script é adicionado ao realm que faz parte do cabeçalho WWW-Authenticate se você definir esse cabeçalho (usado para autenticação HTTP). |
| PHP_AUTH variables | No "safe mode", as variáveis PHP_AUTH_USER, PHP_AUTH_PW e AUTH_TYPE não estão disponíveis em $_SERVER. Porém, pode-se utilizar o REMOTE_USER para o USER. (nota: apenas para a versão a partir PHP 4.3.0) |
| highlight_file(), show_source() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| parse_ini_file() | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. |
| set_time_limit() | Não há efeito quando o safe mode está ativado. |
| max_execution_time | Não há efeito quando o safe mode está ativado. |
| mail() | No safe mode, o quinto parâmetro é desabilitado. |
| session_start() | O dono do script precisa ser o mesmo dono do diretório session.save_path se se o files padrão em session.save_handler for usado. |
| Todos as funções do sistemas de arquivos e de streams. | Verifica se o arquivo ou diretório operados tem o mesmo UID (owner) que o script sendo executado. Verifica se o diretório onde o script está operando tem o mesmo UID (owner) que o script sendo executado. (veja a opção safe_mode_include_dir no php.ini |