라이브러리

[PHP_CONFIG] session.cookie_samesite - 세션 쿠키의 SameSite 설정




PHP SESSION COOKIE SAME SITE

PHP SESSION COOKIE SAME SITE은 HTTP 요청의 Referer 헤더를 검사하여 요청이 동일한 도메인에서 발생했는지 확인하는 기능입니다. 이 기능은 CSRF(Cross-Site Request Forgery) 공격을 방지하기 위해 사용됩니다.

SAME SITE의 종류

SAME SITE에는 세 가지 종류가 있습니다.

1. Lax: Lax는 기본값으로 설정됩니다. Lax는 GET 요청에서만 SAME SITE를 검사합니다. POST 요청은 SAME SITE 검사를 수행하지 않습니다.
2. Strict: Strict는 모든 요청에서 SAME SITE를 검사합니다. 이 설정은 CSRF 공격을 방지하기 위해 사용됩니다.
3. None: None은 SAME SITE 검사를 수행하지 않습니다.

PHP SESSION COOKIE SAME SITE 설정

PHP SESSION COOKIE SAME SITE 설정은 `session.cookie_samesite` 옵션을 사용하여 설정할 수 있습니다.

#hostingforum.kr
php

// session.cookie_samesite 옵션을 Strict로 설정

session_cookie_samesite = "Strict";



예제

#hostingforum.kr
php

// session_start() 함수를 호출하여 세션을 시작합니다.

session_start();



// session.cookie_samesite 옵션을 Strict로 설정합니다.

ini_set('session.cookie_samesite', 'Strict');



// CSRF 공격을 방지하기 위해 token을 생성합니다.

$token = bin2hex(random_bytes(32));



// 세션에 token을 저장합니다.

$_SESSION['token'] = $token;



// CSRF 공격을 방지하기 위해 token을 검사합니다.

if ($_POST['token'] !== $_SESSION['token']) {

    // CSRF 공격이 발생한 경우

    echo "CSRF 공격이 발생했습니다.";

    exit;

}



// CSRF 공격이 발생하지 않은 경우

echo "CSRF 공격이 발생하지 않았습니다.";



참고

* `session.cookie_samesite` 옵션은 PHP 7.3 이상에서 사용할 수 있습니다.
* SAME SITE 검사는 브라우저에서 지원해야 합니다. 일부 브라우저에서는 SAME SITE 검사를 지원하지 않을 수 있습니다.
* CSRF 공격을 방지하기 위해 token을 생성하고 검사하는 것이 중요합니다. token을 생성하고 검사하는 방법은 위 예제와 유사합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 394건 / 6 페이지

검색

게시물 검색