セーフモードにより制限を受けるか無効となる関数

safe-mode により制限される 関数のリストを示します。ただし、まだ、不完全で、不正確である可能性 があります。

表 22-2セーフモードで制限される関数

関数 制限
dbmopen() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
dbase_open() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
filepro() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
filepro_rowcount() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
filepro_retrieve() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
ifx_*() sql_safe_mode restrictions, (!= safe mode)
ingres_*() sql_safe_mode restrictions, (!= safe mode)
mysql_*() sql_safe_mode restrictions, (!= safe mode)
pg_loimport() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
posix_mkfifo() 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
putenv() iniディレクティブのsafe_mode_protected_env_vars および safe_mode_allowed_env_varsに依存します。 putenv() のドキュメントも参照下さい。
move_uploaded_file() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
chdir() 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
dl() この関数は、 safe-mode では無効となります。
backtick operator この関数は、 safe-mode では無効となります。
shell_exec() (functional equivalent of backticks) この関数は、 safe-mode では無効となります。
exec() safe_mode_exec_dir の中でのみ実行可能です。実行上の理由により、現在、実行パスに .. を含めることは許可されていません。
system() safe_mode_exec_dir の中でのみ実行可能です。実行上の理由により、現在、実行パスに .. を含めることは許可されていません。
passthru() safe_mode_exec_dir の中でのみ実行可能です。実行上の理由により、現在、実行パスに .. を含めることは許可されていません。
popen() safe_mode_exec_dir の中でのみ実行可能です。実行上の理由により、現在、実行パスに .. を含めることは許可されていません。
mkdir() 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
rmdir() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
rename() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
unlink() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
copy() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 ( source および target において)
chgrp() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
chown() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
chmod() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 加えて、SUID, SGID, スティキービットを設定する ことはできません
touch() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。
symlink() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 (注意: ターゲットのみが 確認されます)
link() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 (注意: ターゲットのみが 確認されます)
getallheaders() セーフモードでは、'authorization'で始まるヘッダ(大文字小文字は 区別されません)は返されません。 警告: これは、AOLサーバにおける getallheaders() の実装では正常に動作しません!
header() In safe mode, the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).
highlight_file() , show_source() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 (note: only affected since PHP 4.2.1)
parse_ini_file() 処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します。 (note: only affected since PHP 4.2.1)
Any function that uses php4/main/fopen_wrappers.c ??