Essa lista provavelmente ainda está incomplete e possivelmente incorreta das funções limitadas pelo modo seguro.
Tabela 42-2. Funções limitadas no modo seguro
| Função | Limitações |
|---|---|
| dbmopen() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| dbase_open() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| filepro() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| filepro_rowcount() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| filepro_retrieve() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está 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(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| posix_mkfifo() | Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| putenv() | Obedece as diretivas safe_mode_protected_env_vars e safe_mode_allowed_env_vars. Também veja a documentação on putenv() |
| move_uploaded_file() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| chdir() | Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| dl() | Esta função é desabilitada no safe-mode |
| operador backtick (``) | Esta função é desabilitada no safe-mode |
| shell_exec() (função equivalente de backticks) | Esta função é desabilitada no safe-mode |
| exec() | Você só pode rodar executáveis que estejam no safe_mode_exec_dir. Por razões práticas, não é permitido atualmente ter .. compondo o caminho para o executável. escapeshellcmd() é executada no argumento dessa função. |
| system() | Você só pode rodar executáveis que estejam no safe_mode_exec_dir. Por razões práticas, não é permitido atualmente ter .. compondo o caminho para o executável. escapeshellcmd() é executada no argumento dessa função. |
| passthru() | Você só pode rodar executáveis que estejam no safe_mode_exec_dir. Por razões práticas, não é permitido atualmente ter .. compondo o caminho para o executável. escapeshellcmd() é executada no argumento dessa função. |
| popen() | Você só pode rodar executáveis que estejam no safe_mode_exec_dir. Por razões práticas, não é permitido atualmente ter .. compondo o caminho para o executável. escapeshellcmd() é executada no argumento dessa função. |
| fopen() | Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| mkdir() | Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| rmdir() | Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| rename() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| unlink() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| copy() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. (on source and target) |
| chgrp() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| chown() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| chmod() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Além disso, você não pode editar os bits SUID, SGID e sticky |
| touch() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. |
| symlink() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. (nota: apenas o alvo é checado) |
| link() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. (nota: apenas o alvo é checado) |
| apache_request_headers() | No modo seguro, cabeçalhos começando com 'authorization' (não diferenciando maiúsculas e minúsculas) não serão retornados. |
| header() | No modo seguro, o uid do script é adicionado a parte realm do cabeçalho WWW-Authenticate se você configurar esse cabeçalho (usado para Autenticação HTTP). |
| variáveis PHP_AUTH | No modo seguro, as variáveis PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE não estão disponíveis no array $_SERVER. Apesar de tudo, você ainda pode usar REMOTE_USER para o USER. (nota: só afetado desde o PHP 4.3.0) |
| highlight_file(), show_source() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. (nota: só afetado desde o PHP 4.2.1) |
| parse_ini_file() | Verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. Verifica se o diretório que será afetado por esta operação tem o mesmo UID (proprietário) do script que está sendo executado. (nota: só afetado desde o PHP 4.2.1) |
| set_time_limit() | Não tem efeito quando o PHP é executado em safe mode. |
| max_execution_time | Não tem efeito quando o PHP é executado em safe mode. |
| mail() | Em modo seguro, o quinto parâmetro é desabilitado. (nota: só afetado desde o PHP 4.2.3) |
| Qualquer função que use php4/main/fopen_wrappers.c | ?? |