add chrome session set function from gnuboard5
This commit is contained in:
parent
86a086139c
commit
a1bc96cf1d
1 changed files with 26 additions and 0 deletions
|
|
@ -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();
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
Loading…
Reference in a new issue