https://xeno.work/samesite.html
chrome 80 SameSite cookie CORS 보안 변경사항 php 대응
SameSite 옵션이 없는 php 7.3 미만에서 이용할 대체함수입니다.
xeno.work
증상
타 도메인에서 iframe, FORM POST 등을 통해 넘어올 때 secure; SameSite=None 으로 세팅되지 않은 쿠키값을 브라우저가 서버로 전달하지 않습니다.
PG 결제시 어떤건 되고 어떤건 안되고 그렇습니다. 예를들어서 나이스페이 일반결제는 세션이 살아있는데 나이스페이 구독카드빌링등록후 돌아오면 세션이 끊겨있습니다.
php 7.3 이상에서는 아래 3줄 설정으로 같은 효과를 낼 수 있습니다.
ini_set('session.cookie_secure', true);
ini_set('session.cookie_httponly',false);
ini_set('session.cookie_samesite', 'None');
ini_set('session.cache_expire',86400);
ini_set('session.gc_maxlifetime',86400);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags','');
ini_set("session.gc_probability", 1);
ini_set("session.gc_divisor", 100);
ini_set('session.cookie_secure', true);
ini_set('session.cookie_httponly',false);
ini_set('session.cookie_samesite', 'None');
session_save_path($_SERVER['DOCUMENT_ROOT'].'/sessions');
session_cache_limiter('nocache, must_revalidate');
session_set_cookie_params(0, "/");
session_start();
사이트에 설정된 전체 코드 참고하세요
'웹프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 유튜브를 메인페이지 배너로 넣는옵션 (0) | 2024.01.19 |
---|---|
http주소를 https 주소로 변경. (0) | 2021.06.10 |
이메일 '@' 앞쪽 *표 처리 (0) | 2019.08.02 |
url 호스트명 붙이기(WWW) (0) | 2016.05.20 |
PHP 실행시간 알아보기 (0) | 2016.05.20 |