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 | ?? |