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 в командной строке