session.save_handler는 세션에 할당된 데이터를 저장하고
복구하는데 사용하는 핸들러 이름을 정의합니다. 기본값은
files입니다. 개별 확장이 자신의
save_handler를 등록할 수 있습니다; 등록된 핸들러는
phpinfo()를 참조하여 설치 단위로 가져올 수 있습니다.
session_set_save_handler()를 참고하십시오.
session.save_path는 저장 핸들러로 전달되는 인수를
정의합니다. 기본 파일 핸들러를 선택한다면, 파일이 생성되는 경로입니다.
session_save_path()를 참고하십시오.
세션 파일이 퍼질 디렉토리 단계를 지정하는 선택적인 N 인수 지시어가
있습니다. 예를 들어, '5;/tmp'로 지정하면 세션 파일을
생성할 때
/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If처럼
위치합니다. N을 사용하기 전에 이러한 디렉토리를 생성해야 합니다. 이를
위해 mod_files.sh로 불리는 작은 쉘 스크립트가
ext/session에 존재합니다. 윈도우 버전은
mod_files.bat입니다. N이 사용되고 0보다 크면
자동 쓰레기 수거를 수행하지 않습니다. php.ini에서 자세한 정보를
확인하십시오. 또한, N을 사용할 때 session.save_path를
"따옴표"로 감싸야 합니다. 구분자(;)가 php.ini에서
주석으로 사용되기 때문입니다.
파일 저장 모듈은 기본값으로 600 모드를 사용하여 파일을 생성합니다.
이 기본값은 부수적인 MODE 인수로 변경할 수 있습니다:
N;MODE;/path 에서 MODE 는 실제
모드 표현입니다.
MODE 설정은 프로세스 umask에 영향을 주지 않습니다.
Warning
이 설정을 /tmp(기본값)처럼, 누구라도 읽을 수 있는
디렉토리로 설정하면, 서버의 다른 사용자가 그 디렉토리 목록을 얻어서
세션을 훔칠 수 있습니다.
Caution
When using the optional directory level argument N,
as described above, note that using a value higher than 1 or 2 is
inappropriate for most sites due to the large number of directories
required: for example, a value of 3 implies that 64^3
directories exist on the filesystem, which can result in a lot of wasted
space and inodes.
Only use N greater than 2 if you are absolutely
certain that your site is large enough to require it.
Note:
PHP 4.3.6 이전에 윈도우 사용자가 PHP 세션 함수를 사용하려면, 이 값을
변경해야 합니다. 유효한 경로를 지정해야 합니다. 예:
c:/temp.
session.serialize_handler는 데이터 직렬화/해제에
사용할 핸들러의 이름을 정의합니다. PHP 직렬화 형식(php_serialize),
PHP 내부 형식(php나 php_binary)과
WDDX(wddx)를 지원합니다. WDDX는 PHP가 WDDX 지원과 함께 컴파일 되었을 경우에만
지원합니다. php_serialize는 PHP 5.5.4부터 사용할 수 있습니다.
php_serialize는 내부적으로 평이한 직렬화/해제 함수를 사용하여,
php나 php_binary의 제한을 가지지 않습니다.
이전의 직렬화 핸들러는 숫자 인덱스나 특수 문자(|과 !)를
포함하는 문자열 인덱스를 $_SESSION에 저장할 수 없었습니다. 스크립트 종료 시에 숫자 인덱스나
특수 문자로 인한 오류를 피하기 위해서는 php_serialize를 사용하십시오.
기본값은 php입니다.
session.gc_divisor는
session.gc_probability와 결합하여 각 세션 초기화 시에
gc(쓰레기 수집) 프로세스를 시작할 확률을 정의합니다. 확률은
gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에
GC 프로세스를 시작할 확률이 1%입니다.
session.gc_divisor의 기본값은
100입니다.
session.entropy_file은 세션 id 생성 프로세스에서
추가적인 랜덤 소스로 사용할 외부 자원(파일) 경로를 지정합니다. 예를
들면 많은 유닉스 시스템에서 사용할 수 있는
/dev/random이나 /dev/urandom입니다.
이 기능은 PHP 5.3.3부터 윈도우에서도 지원합니다.
session.entropy_length를 0이 아닌 값으로
설정하면, PHP가 윈도우 랜덤 API를 암호화 소스로 사용합니다.
Note:
PHP 5.4.0부터 session.entropy_file의 기본값은
/dev/urandom이나 /dev/arandom입니다.
(사용할 수 있는 경우). PHP 5.3.0에서 이 지시어의 기본값은 비어 있습니다.
session.use_strict_mode는 모듈이 제한된 세선 ID 모드를
사용할 지 지정합니다. 이 모드가 켜져 있으면, 모듈은 초기화되지 않은 세션 ID를
받아들이지 않습니다. 초기화되지 않은 세션 ID가 브라우저에서 보내지면, 새로운
세션 ID가 브라우저로 전송됩니다. 어플리케이션은 제한 모드로 세션 취득을 통한
세션 고정에서 보호됩니다. 기본값은 0(비활성)입니다.
session.use_only_cookies는 모듈이 클라이언트측에 세션
id를 저장하기 위하여 쿠키만 사용할 지
여부를 지정합니다. 이 설정을 활성화하면 URL로 전달되는 세션 id에 관련한
공격을 방지할 수 있습니다. 이 설정은 PHP 4.3.0에서 추가되었습니다. PHP
5.3.0부터 기본값은 1(활성화)입니다.
session.cache_limiter는 세션 페이지의 캐시 제어 방법을
지정합니다.
다음 값 중 하나를 사용할 수 있습니다:
nocache, private,
private_no_expire, public.
기본값은 nocache입니다.
각 값의 의미에 대한 정보는 session_cache_limiter()를
참고하십시오.
session.use_trans_sid는 투명 sid 지원을 활성화할지
결정합니다. 기본값은 0(비활성화)입니다.
Note:
URL 기반 세션 관리는 쿠키 기반 세션 관리에 비하여 추가적인 보안 위험이
있습니다. 예를 들면, 사용자가 활성적인 세션 ID를 포함하는 URL을 email로
친구에게 보낼 수도 있으며, 사용자가 세션 ID를 포함하는 URL을 즐겨찾기에
저장하여 항상 같은 세션 ID로 접근할 수도 있습니다.
PHP 4.2.3까지 문서화되지 않은 기능/버그로 register_globals가 꺼져있음에도
불구하고 전역 영역에서 세션 변수를 초기화할 수 있었습니다. PHP
4.3.0부터 session.bug_compat_warn이
켜져있으면, 이 기능을 사용할 때 경고해줍니다. 이 기능/버그는 이 지시어를
비활성화하면 사용할 수 없게 됩니다.
session.hash_bits_per_character는 바이너리 해시
데이터를 읽을 수 있는 모양으로 변환할 때 각 문자에 몇 비트를 저장할 지
결정합니다. 가능한 값은 '4'(0-9, a-f), '5'(0-9, a-v), '6'(0-9, a-z, A-Z,
"-", ",")입니다.
진행율 정보를 저장하는 $_SESSION에서 사용하는 키
이름입니다. session.upload_progress.prefix를 참조하십시오.
$_POST[ini_get("session.upload_progress.name")]이
전달되지 않거나 사용할 수 없으면, 업로드 진행율은 기록되지 않습니다.
기본값은 "PHP_SESSION_UPLOAD_PROGRESS"입니다.
업로드 진행율은 session.upload_progress.enabled이 켜져 있고,
$_POST[ini_get("session.upload_progress.name")] 변수가 설정되지 않으면
기록되지 않습니다.
이 기능에 관한 자세한 사항은 세션 업로드 진행율을 참고하십시오.