From dd0df36f1ccb084351764dbdd99019893731f5ce Mon Sep 17 00:00:00 2001 From: thisgun Date: Mon, 3 May 2021 11:58:08 +0900 Subject: [PATCH] =?UTF-8?q?=ED=81=AC=EB=A1=AC=EB=B8=8C=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=EC=A0=80=20=EC=82=AC=EC=9A=A9=ED=95=98=EA=B3=A0=20=EC=B9=B4?= =?UTF-8?q?=ED=8E=9824=ED=98=B8=EC=8A=A4=ED=8C=85=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=9E=84=EC=8B=9C=EB=8F=84=EB=A9=94=EC=9D=B8=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=8B=9C=20=EC=84=B8=EC=85=98=EC=9D=B4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EC=95=88=EB=90=98=EA=B1=B0=EB=82=98=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=EC=95=88=EB=90=98=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/common.php b/common.php index aa675bba5..36d79c701 100644 --- a/common.php +++ b/common.php @@ -221,11 +221,31 @@ ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probabil session_set_cookie_params(0, '/'); ini_set("session.cookie_domain", G5_COOKIE_DOMAIN); +function chrome_domain_session_name(){ + // 크롬90버전대부터 아래 도메인을 포함된 주소로 접속시 특정조건에서 세션이 생성 안되는 문제가 있을수 있다. + $domain_array=array( + '.cafe24.com', // 카페24호스팅 + '.dothome.co.kr', // 닷홈호스팅 + '.phps.kr', // 스쿨호스팅 + '.maru.net', // 마루호스팅 + ); + + if(preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다. + if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5PHPSESSID'); + @session_name(G5_SESSION_NAME); + } +} + +chrome_domain_session_name(); + if( ! class_exists('XenoPostToForm') ){ class XenoPostToForm { public static function check() { - return !isset($_COOKIE['PHPSESSID']) && count($_POST) && ((isset($_SERVER['HTTP_REFERER']) && !preg_match('~^https://'.preg_quote($_SERVER['HTTP_HOST'], '~').'/~', $_SERVER['HTTP_REFERER']) || ! isset($_SERVER['HTTP_REFERER']) )); + + $cookie_session_name = (defined('G5_SESSION_NAME') && G5_SESSION_NAME) ? G5_SESSION_NAME : 'PHPSESSID'; + + return !isset($_COOKIE[$cookie_session_name]) && count($_POST) && ((isset($_SERVER['HTTP_REFERER']) && !preg_match('~^https://'.preg_quote($_SERVER['HTTP_HOST'], '~').'/~', $_SERVER['HTTP_REFERER']) || ! isset($_SERVER['HTTP_REFERER']) )); } public static function submit($posts) {