safe-modeにより制限される 関数のリストを示します。ただし、まだ、不完全で、不正確である可能性 があります。
関数 | 制限 |
---|---|
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_lo_import() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 |
posix_mkfifo() | 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 |
putenv() | iniディレクティブのsafe_mode_protected_env_vars および safe_mode_allowed_env_varsに依存します。 putenv()のドキュメントも参照ください。 |
move_uploaded_file() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 |
chdir() | 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 |
dl() | この関数は、PHP が safe-mode で動作している場合は無効となります。 |
backtick operator | この関数は、PHP が safe-mode で動作している場合は無効となります。 |
shell_exec() (functional equivalent of backticks) | この関数は、PHP が safe-mode で動作している場合は無効となります。 |
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を有しているかどうかを確認します。 加えて、SUID, SGID, スティキービットを設定する ことはできません |
touch() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 |
symlink() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 (注意: ターゲットのみが 確認されます) |
link() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 (注意: ターゲットのみが 確認されます) |
apache_request_headers() | セーフモードでは、authorization で始まるヘッダ(大文字小文字は 区別されません)は返されません。 |
header() | セーフモードでは、WWW-Authenticate (HTTP認証)ヘッダをセットする場合に realmパートに スクリプトのUIDがセットされます。 |
PHP_AUTH variables | セーフモードでは、PHP_AUTH_USER, PHP_AUTH_PW, AUTH_TYPEは $_SERVERに含まれません。 にも関わらず、USERにREMOTE_USERを使うことは未だ可能です。 (PHP4.3.0以降でのみ影響) |
highlight_file(), show_source() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 |
parse_ini_file() | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 |
set_time_limit() | PHPがセーフモードで実行されている場合は影響を受けません。 |
max_execution_time | PHPがセーフモードで実行されている場合は影響を受けません。 |
mail() | セーフモードでは、5番目のパラメータが無効となります。 |
session_start() | デフォルトの files session.save_handler を使う場合は、スクリプトのオーナーが session.save_path ディレクトリのオーナーと同じでなければなりません。 |
すべてのファイルシステム関数およびストリーム関数 | 処理を行うファイル/ディレクトリが実行するスクリプトと 同じUIDを有しているかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ UID を有しているかどうかを確認します。 (php.ini オプション safe_mode_include_dir を参照ください)。 |