PHP 매뉴얼
이전 | 22. 장. 안전 모드 | 다음

# 안전 모드에 의해 제한되는/비활성화되는 함수들

다음은 아직 완전하지 않고 부정확할 수도 있는 안전 모드에 의해 제한되는 함수 목록이다.

표 22-2. 안전 모드 제한 함수들

함수 | 제한점
--- | ---
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_loimport() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 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() | 이 함수는 안전 모드에서 사용할 수 없습니다.
backtick operator | 이 함수는 안전 모드에서 사용할 수 없습니다.
shell_exec() (functional equivalent of backticks) | 이 함수는 안전 모드에서 사용할 수 없습니다.
exec() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 `..`을 허용하지 않는다.
system() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 `..`을 허용하지 않는다.
passthru() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 `..`을 허용하지 않는다.
popen() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 `..`을 허용하지 않는다.
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)를 가지고 있는지 확인합니다. (주의: 타겟만 검사됨)
getallheaders() | 안전 모드에서, 'authorization' (대소문자 구별안함)로 시작되는 헤더는 반환되지 않을것이다. 경고: 이 함수는 aol-server의 getallheaders() 구현에서 잘못 작동된다!
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가 안전 모드에서 실행되면 아무 효과가 없음.
`php4/main/fopen_wrappers.c`를 사용하는 모든 함수 | ??

이전 | 처음으로 | 다음
안전 모드 | 위로 | 커맨드 라인에서 PHP 사용하기