다음은 아직 완전하지 않고 부정확할 수도 있는 안전 모드에 의해 제한되는 함수 목록이다.
함수 | 제한점 |
---|---|
dbmopen() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
dbase_open() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
filepro() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
filepro_rowcount() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
filepro_retrieve() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
ifx_* | sql_safe_mode 제한, (!= safe mode) |
ingres_* | sql_safe_mode 제한, (!= safe mode) |
mysql_* | sql_safe_mode 제한, (!= safe mode) |
pg_lo_import() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
posix_mkfifo() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
putenv() | safe_mode_protected_env_vars 와 safe_mode_allowed_env_vars ini-지시어에 따름. putenv() 문서 참고. |
move_uploaded_file() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
chdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
dl() | 이 함수는 PHP가 안전 모드일 때는 사용할 수 없습니다. |
backtick operator | 이 함수는 PHP가 안전 모드일 때는 사용할 수 없습니다. |
shell_exec() (functional equivalent of backticks) | 이 함수는 PHP가 안전 모드일 때는 사용할 수 없습니다. |
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 (owner)를 가지고 있는지 확인합니다. |
mkdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
rmdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
rename() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
unlink() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
copy() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (source 와 target 에서) |
chgrp() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
chown() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
chmod() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 추가적으로, SUID, SGID와 sticky 비트를 설정할수 없다 |
touch() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. |
symlink() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: 타겟만 검사됨) |
link() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: 타겟만 검사됨) |
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을 사용할수 있다 (주의: PHP 4.3.0 이후에서만 적용됨) |
highlight_file(), show_source() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: PHP 4.2.1 이후에서만 적용됨) |
parse_ini_file() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (note: PHP 4.2.1 이후에서만 적용됨) |
set_time_limit() | PHP가 안전 모드에서 실행되면 아무 효과가 없음. |
max_execution_time | PHP가 안전 모드에서 실행되면 아무 효과가 없음. |
mail() | 안전 모드에서, 다섯번째 인수는 사용할 수 없습니다. (주의: PHP 4.2.3부터 적용) |
session_start() | 기본값인 files session.save_handler를 사용할 때 스트립트 소유자는 session.save_path 디렉토리 소유자와 같아야 합니다. |
모든 파일시스템과 스트림 함수. | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (safe_mode_include_dir php.ini 옵션 참고) |