현재 위치: > 최신 기사 목록> ThinkPhp가 세션 기능을 끄는 실용적인 방법 및 예방 조치

ThinkPhp가 세션 기능을 끄는 실용적인 방법 및 예방 조치

gitbox 2025-07-23

머리말

ThinkPHP 프레임 워크에는 기본적으로 세션 기능이 내장되어 있으며 데이터 관리에 PHP 세션 메커니즘을 사용합니다. 그러나 APP 인터페이스 개발과 같은 일부 시나리오에서 개발자는 세션 메커니즘을 끄고 토큰 메커니즘을 사용하여 인터페이스 보안을 보장하기를 희망합니다. 이 기사에서는 ThinkPhp의 세션 기능을 끄는 방법과 응용 프로그램을 닫은 후 응용 프로그램에 미치는 영향을 소개합니다.

세션을 닫는 방법

ThinkPhp에는 세션을 닫는 두 가지 일반적인 방법이 있습니다.

방법 1 : System/Session.php 파일을 수정합니다

ThinkPhp 소스 코드 디렉토리에서 System/Session.php 파일을 찾아 다음 구성 코드를 추가하십시오.

 'use_cookies'      => false,
'use_trans_sid'    => false,

위의 설정에서 USE_COOKIES는 쿠키를 통해 세션 ID가 저장되는지 여부를 제어하며 USE_TRANS_SID는 세션 ID가 URL을 통해 전달 될 수 있는지 여부를 제어합니다. 이 두 가지 옵션을 끄면 세션 기능이 더 이상 적용되지 않습니다.

방법 2 : 응용 프로그램 구성 파일에서 세션을 끄고 자동으로 시작합니다.

응용 프로그램의 구성 파일 (config.php)에 다음 구성을 추가 할 수 있습니다.

 // 폐쇄session자동 시작
'SESSION_AUTO_START' => false,

이러한 방식으로 시스템의 기본 세션 메커니즘이 꺼지고 세션이 자동으로 켜지지 않습니다.

마감 세션이 응용 프로그램에 미치는 영향

세션 기능을 끄면 응용 프로그램에 대해 다음 변경 사항이 발생합니다.

세션 관련 기능 및 변수를 사용할 수 없습니다

세션이 끝나면 PHP의 세션 관련 기능 및 글로벌 변수 (예 : Session_Start , $ _session )는 사용할 수 없습니다.

로그인 검증 방법을 조정해야합니다

전통적인 로그인 상태 관리는 세션에 따라 다르며, 마감 기반 인증과 같은 다른 방법을 닫은 후에는 다른 방법을 사용해야합니다. 로그인이 성공한 후 서버는 토큰을 생성하고 클라이언트는이를 저장하고 후속 요청으로 운반합니다. 서버는 토큰을 확인하여 요청이 합법적인지 여부를 결정합니다.

시스템 성능이 향상 될 수 있습니다

세션 메커니즘을 끄면 서버의 읽기 및 쓰기 세션 데이터가 줄어들고 서버의 부담을 줄이고 응용 프로그램 성능을 향상시킵니다.

요약

이 기사는 ThinkPhP에서 세션을 마치는 두 가지 주요 방법을 소개하고 세션 마감 후 응용 프로그램에 미치는 영향을 분석합니다. 응용 프로그램 시나리오 및 보안 요구에 따라 특정 세션을 유연하게 선택해야합니다.