크롬브라우저 사용하고 카페24호스팅에서 임시도메인 사용시 세션이 생성안되거나 로그인 안되는 문제 수정

This commit is contained in:
thisgun
2021-05-03 11:58:08 +09:00
parent d3d0403892
commit dd0df36f1c

View File

@ -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) {