반응형
브라우저 보안정책 강화로 인해 iframe 으로 php 외 다른 url 등을 불러왔을 때, set cookie의 기본 samesite 정책이 Lax 로 지정되어 iframe 내의 페이지가 set cookie 를 기본적으로 하지 못하도록 차단됩니다. 그래서 iframe 으로 사이트를 불러왔을때 로그인이 풀리는 현상이 있는데요.
php 에서 로그인 처리시, 혹은 session_start() 시에 아래 코드를 추가하면 해결이 가능합니다.
session_start();
setcookie("PHPSESSID", session_id(), time() + 3600, "/; samesite=None; Secure");
session_start() 다음에 생성된 session_id 를 PHPSESSID setcookie를 다시 해주는건데요. samesite 를 None 옵션을 주면 iframe 내에서 불러졌더라도 쿠키에 셋업되어 다른 페이지 이동시에 세션이 유지되게 됩니다.
반응형
'웹프로그래밍 > PHP' 카테고리의 다른 글
php Authorization 동작 안할때 (0) | 2024.09.23 |
---|---|
$_SERVER['PHP_AUTH_*'] 식별 안되는 문제 수정하기 (0) | 2024.09.05 |
XE Uncaught Error: Class 'Object' not found in (0) | 2022.07.06 |
[PHP] phpMyAdmin blowfish_secret 경고 해결법 (2) | 2022.05.04 |
[PHP 7.2] mcrypt_create_iv, mcrypt_encrypt, mcrypt_decrypt is undefined function (0) | 2018.08.28 |