diff --git a/AvocadoEdition_Light/bbs/login_check.php b/AvocadoEdition_Light/bbs/login_check.php index d5dbbab..b794d05 100644 --- a/AvocadoEdition_Light/bbs/login_check.php +++ b/AvocadoEdition_Light/bbs/login_check.php @@ -38,6 +38,13 @@ if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_cert @include_once $member_skin_path . '/login_check.skin.php'; +if (!(defined('SKIP_SESSION_REGENERATE_ID') && SKIP_SESSION_REGENERATE_ID)) { + session_regenerate_id(false); + if (function_exists('session_start_samesite')) { + session_start_samesite(); + } +} + set_session('ss_mb_id', $mb['mb_id']); set_session('ss_mb_key', md5($mb['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'])); diff --git a/AvocadoEdition_Light/common.php b/AvocadoEdition_Light/common.php index 8a2ed7d..ec26747 100644 --- a/AvocadoEdition_Light/common.php +++ b/AvocadoEdition_Light/common.php @@ -104,6 +104,11 @@ include_once($g5_path['path'] . '/config.php'); // 설정 파일 unset($g5_path); +// Cloudflare 환경을 고려한 https 사용여부 +if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") { + $_SERVER['HTTPS'] = 'on'; +} + // multi-dimensional array에 사용자지정 함수적용 function array_map_deep($fn, $array) { @@ -202,7 +207,7 @@ if (version_compare(PHP_VERSION, '7.0.0', '<')) { $_REQUEST = array_map('strip_slashes_deep', $_REQUEST); } } else { - die ("php 버전이 너무 낮습니다."); + die("php 버전이 너무 낮습니다."); } } @@ -353,7 +358,7 @@ ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오. ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다. -session_set_cookie_params(0, '/'); +session_set_cookie_params(0, '/', null, false, true); ini_set("session.cookie_domain", G5_COOKIE_DOMAIN); @session_start();