From a1bc96cf1db7fb9db867d82ce6c7584f845c6616 Mon Sep 17 00:00:00 2001 From: Arcturus Date: Sun, 29 Sep 2024 09:46:26 +0900 Subject: [PATCH] add chrome session set function from gnuboard5 --- AvocadoEdition_Light/common.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/AvocadoEdition_Light/common.php b/AvocadoEdition_Light/common.php index 511b7be..81bc31a 100644 --- a/AvocadoEdition_Light/common.php +++ b/AvocadoEdition_Light/common.php @@ -178,6 +178,30 @@ function strip_slashes_deep($value) return is_array($value) ? array_map('strip_slashes_deep', $value) : stripslashes($value); } +function chrome_domain_session_name() +{ + // 크롬90버전대부터 아래 도메인을 포함된 주소로 접속시 특정조건에서 세션이 생성 안되는 문제가 있을수 있다. + $domain_array = [ + '.cafe24.com', // 카페24호스팅 + '.dothome.co.kr', // 닷홈호스팅 + '.phps.kr', // 스쿨호스팅 + '.maru.net', // 마루호스팅 + ]; + + $add_str = ''; + $document_root_path = str_replace('\\', '/', realpath($_SERVER['DOCUMENT_ROOT'])); + + if (G5_PATH !== $document_root_path) { + $add_str = substr_count(G5_PATH, '/') . basename(dirname(__FILE__)); + } + + if ($add_str || (isset($_SERVER['HTTP_HOST']) && preg_match('/(' . implode('|', $domain_array) . ')/i', $_SERVER['HTTP_HOST']))) { // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다. + if (!defined('G5_SESSION_NAME')) + define('G5_SESSION_NAME', 'G5' . $add_str . 'PHPSESSID'); + @session_name(G5_SESSION_NAME); + } +} + include_once __DIR__ . "/classes/event_handler.php"; $extra_headers = [ @@ -454,6 +478,8 @@ if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { ini_set("session.cookie_domain", G5_COOKIE_DOMAIN); +chrome_domain_session_name(); + @session_start(); //==============================================================================