Session_SET_COOKIE_PARAMS () 함수는 세션 쿠키의 유효한 시간, 경로, 도메인, 보안 HTTPS 연결 사용 여부 등을 포함하여 PHP 세션 쿠키의 매개 변수를 설정하는 데 사용됩니다.이 기능을 통해 개발자는 세션의 보안 및 안정성을 보장하고 잠재적 인 보안 위험을 피할 수 있습니다.
session_set_cookie_params([
'lifetime' => 3600, // cookie 유효 기간(단위:두번째)
'path' => '/', // cookie 길
'domain' => 'm66.net', // 도메인 이름을 설정하십시오 m66.net
'secure' => true, // 통과 여부 HTTPS 전염 cookie
'httponly' => true, // 금지되어 있습니까? JavaScript 입장 cookie
'samesite' => 'Strict' // 설정 SameSite 전략
]);
일생
수명 매개 변수는 세션 쿠키의 유효 기간을 몇 초 만에 설정하는 데 사용됩니다. 기본적으로 브라우저 세션이 끝나면 PHP 세션 쿠키의 수명주기가 유효하지 않습니다. 브라우저가 닫힌 후 세션을 여전히 유효하게 해야하는 경우 더 긴 유효 기간으로 설정할 수 있습니다. 예를 들어, 3600은 쿠키가 1 시간 동안 지속됨을 의미합니다.
길
경로 매개 변수는 세션 쿠키의 유효한 경로를 제어합니다. 루트 디렉토리 / 로 설정된 경우이 쿠키는 모든 하위 디렉터에서 사용됩니다. 특정 경로에서 쿠키에만 액세스 해야하는 경우이 경로로 설정할 수 있습니다.
도메인
도메인 매개 변수는 쿠키의 범위, 즉 도메인 이름 이이 쿠키에 액세스 할 수있는 범위를 설정합니다. 크로스 도메인 세션 지원을 향상시키기 위해이 항목을 M66.net 으로 설정 하여이 세션 쿠키를 도메인 이름과 하위 도메인 모두에서 사용할 수 있도록 할 수 있습니다. 도메인 이름은 현재 요청 된 도메인 이름과 일치해야합니다. 그렇지 않으면 쿠키를 사용할 수 없습니다.
안전한
보안 매개 변수는 쿠키가 HTTPS 보안 연결을 통해서만 전송 될 수 있는지 여부를 결정합니다. True 로 설정되면 브라우저는 HTTPS 연결 하에서만이 쿠키를 보냅니다. 이것은 특히 민감한 데이터와 관련하여 대화 보안을 향상시키는 데 중요한 조치입니다.
httponly
httponly 매개 변수는 클라이언트 JavaScript가 쿠키에 액세스 할 수 있는지 여부를 제어합니다. True 로 설정된 경우 쿠키는 HTTP 프로토콜을 통해서만 액세스 할 수 있으며 JavaScript에서 액세스 할 수 없습니다. 이를 통해 XSS (Cross-Site Scripting Attack)를 방지하는 데 도움이됩니다.
Samesite
동일한 사이트 매개 변수는 CSRF (Cross-Site Request Propery) 공격을 방지하도록 설계된 동일한 사이트 쿠키 정책을 제어합니다. 일반적인 전략은 다음과 같습니다.
'Strict' : 현재 사이트에서 쿠키를 전송할 수 있습니다.
'lax' : 일부 시나리오에 적합한 쿠키를 요청할 때 쿠키를 전송할 수 있습니다.
'None' : Samesite 정책을 완전히 비활성화하지만 True 로 보안을 설정해야합니다.
우리가 사용자가 쇼핑 카트 페이지에서 세션 로그인 상태를 오랫동안 유지할 수 있기를 원하는 전자 상거래 웹 사이트가 있다고 가정 해 봅시다. 다른 페이지 (예 : 로그인 페이지)는 그러한 긴 세션 지속성이 필요하지 않습니다. 세션_SET_COOKIE_PARAMS () 를 통해 다른 수명주기와 정책을 설정하여 다른 페이지의 요구를 충족시킬 수 있습니다.
// 설정登录页面的会话 cookie
session_set_cookie_params([
'lifetime' => 1800, // 30 분
'path' => '/',
'domain' => 'm66.net',
'secure' => true,
'httponly' => true,
'samesite' => 'Strict'
]);
// 세션을 시작하십시오
session_start();
// 설정购物车页面的会话 cookie
session_set_cookie_params([
'lifetime' => 86400, // 24 시간
'path' => '/cart',
'domain' => 'm66.net',
'secure' => true,
'httponly' => true,
'samesite' => 'Lax'
]);
// 세션을 시작하십시오
session_start();
이 예에서는 로그인 페이지의 세션 유효 기간은 30 분이고 쇼핑 카트 페이지의 세션 유효 기간은 24 시간입니다. 두 페이지 모두 동일한 세션 쿠키를 공유 할 수 있도록 도메인을 M66.net 으로 설정하십시오. 안전 하고 httponly 매개 변수의 설정은 세션 보안을 향상시킵니다.
Session_SET_COOKIE_PARAMS ()를 사용하면 개발자가 세션 관리가 더 미세한 세션 관리를 달성 할 수 있습니다. 이 기능을 사용하기위한 몇 가지 일반적인 시나리오는 다음과 같습니다.
향상된 보안 <br> 안전 하고 Httponly 매개 변수를 사용하면 악의적 인 JavaScript 코드에 의해 세션 쿠키가 도난당하는 것을 방지하여 특히 민감한 정보를 처리 할 때 보안을 향상시킬 수 있습니다.
크로스 사이트 세션 관리 <br> 도메인 매개 변수 설정은 여러 하위 도메인에서 세션 쿠키를 공유 할 수 있으며, 이는 여러 하위 도메인을 가로 지르는 대형 웹 사이트 또는 응용 프로그램에 매우 유용합니다.
제어 세션 수명주기 <br> 수명 매개 변수를 설정함으로써 개발자는 기존의 세션을 무기한으로 피하면서 비즈니스 요구에 따라 세션 지속 시간을 제어 할 수 있습니다.
CSRF 공격 방지 <br> Samesite 매개 변수를 설정하면 크로스 사이트 요청 위조 공격을 방지하여 사용자 데이터 보안을 보장 할 수 있습니다.
Session_SET_COOKIE_PARAMS () 는 PHP에서 매우 강력하고 유연한 기능으로 개발자가 세션 쿠키 관리 전략을 정확하게 제어 할 수 있도록 도와줍니다. 다양한 매개 변수를 합리적으로 구성함으로써 개발자는 응용 프로그램의 보안을 향상시킬뿐만 아니라 다양한 요구에 따라 대화 관리 전략을 최적화 할 수 있습니다. 이 기능을 이해하고 유연하게 적용하면 웹 애플리케이션이보다 강력하고 안전 할 수 있습니다.