PHP. Руководство по PHP. 2005
Ограниченные или недоступные в защищенном режиме функции
Глава 42. Защищенный режим
Ограниченные или недоступные в защищенном режиме функции
Ниже приведен, вероятно, неполный и, возможно, не вполне корректный список
функций, ограниченных в
Таблица 42-2. Функции, ограниченные в безопасном режиме
| Функция | Ограничения |
|---|---|
| dbmopen() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| dbase_open() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| filepro() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| filepro_rowcount() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| filepro_retrieve() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| ifx_* | sql_safe_mode ограничения (не путать с safe_mode) |
| ingres_* | sql_safe_mode ограничения (не путать с safe_mode) |
| mysql_* | sql_safe_mode ограничения (не путать с safe_mode) |
| pg_lo_import() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| posix_mkfifo() | Проверяет, имеет ли каталог, с которым
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| putenv() | Подчиняется настройкам the safe_mode_protected_env_vars и
safe_mode_allowed_env_vars. Ознакомьтесь с более подробным описанием функции putenv(). |
| move_uploaded_file() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| chdir() | Проверяет, имеет ли каталог, с которым
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| dl() | Эта функция недоступна в |
| backtick operator | Эта функция недоступна в |
| shell_exec() (функция эквивалентна backticks) | Эта функция недоступна в |
| exec() | Вы можете запускать исполняемые файлы, ограниченные деревом
каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd(). |
| system() | Вы можете запускать исполняемые файлы, ограниченные деревом
каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd() |
| passthru() | Вы можете запускать исполняемые файлы, ограниченные деревом
каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd(). |
| popen() | Вы можете запускать исполняемые файлы, ограниченные деревом
каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd(). |
| fopen() | Проверяет, имеет ли каталог, с которым
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| mkdir() | Проверяет, имеет ли каталог, с которым
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| rmdir() | Проверяет, имеет ли каталог, с которым
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| rename() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| unlink() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| copy() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Для параметров source и target). |
| chgrp() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| chown() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| chmod() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать UID, SGID и sticky-биты. |
| touch() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. |
| symlink() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: проверка выполняется только для параметра target) |
| link() | Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: проверка выполняется только для параметра target) |
| apache_request_headers() | В защищенном режиме, заголовки, начинающиеся с 'authorization'
(независимо от регистра), не возвращаются. |
| header() | В защищенном режиме, текущий UID скрипта будет добавлен к
realm-части заголовка WWW-Authenticate, если вы его устанавливаете (используется для HTTP-аутентификации) |
| переменные PHP_AUTH | - В защищенном режиме, переменные PHP_AUTH_USER,
PHP_AUTH_PW, и AUTH_TYPE недоступны как элементы массива $_SERVER. Несмотря на это, вы все еще можете использовать переменную REMOTE_USER для идентификации пользователя. (Замечание: актуально только для PHP4.3.0 и выше) |
| - highlight_file(), | - Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: актуально только для PHP4.2.1 и выше) |
| - parse_ini_file() | - Проверяет, имеют ли файлы/каталоги, с которыми
вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: актуально только для PHP4.2.1 и выше) |
| - set_time_limit() | - Не имеет никакого эффекта, если безопасный режим используется |
| - max_execution_time | - Не имеет никакого эффекта, если безопасный режим используется |
| - mail() | - В защищенном режиме пятый параметр недоступен.
(Замечание: актуально только для PHP4.2.3 и выше) |
| Любая функция, которая использует
php4/main/fopen_wrappers.c | Временно не документировано |
Защищенный режим
Использование PHP в командной строке
