테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 KCP 본인인증시 데스트탑에서 세션에 문제가 있어 보입니다. 채택완료

루비온 2년 전 조회 2,123

데스크탑에서 본인인증시 세션이 증발하는 현상이 있어 보입니다.

 

사용중인 버전은

 

그누보드 5.3.3.3(패치 G5.5.7.2) 버전

 

입니다.

 

하두 본인인증이 안되어서 추적해보니

 

plugin/kcpcert/kcpcert_form.php 에 자바스크립트 alert 으로 $member['mb_id'] 를 찍어보면 정상으로 나옵니다.

 

그리고 인증이 끝나고나서

 

plugin/kcpcert/kcpcert_result.php 에 자바스크립트 alert 으로 $member['mb_id'] 를 찍어보면 빈값이고

 

정보수정을 누르면... 로그인이 풀려버립니다...

 

어딜 어떻게 더 봐야 할까요???

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
플라이
2년 전

SSL  설치를 하셨을까요? SSL을 설치하셔야 인증로그인이 원활히 되실겁니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

루비온
2년 전
넵 ssl 적용 중입니다. 모바일 iframe 안쓰고 새창으로 띄우는 패치를 여기서 찾아서 적용하니 모바일에서는 일단 잘됩니다. 근데 데탑은 세션을 잃어 버리네요 ㅠㅠ
플라이
2년 전
그렇다면 samesite 적용은 되어 있으실까요?
소스단에 samesite 적요이 안되면 세션이 제대로 적용이 안될수 있습니다.
루비온
2년 전
https://sir.kr/g5_tip/13792 이걸 적용해봤는데 안되네요
플라이
2년 전
이거 말고요 php로 된 부분으로 적용해 보셔야 합니다.
루비온
2년 전
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
// Chrome 80 버전부터 아래 이슈 대응
// https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss
if(!function_exists('session_start_samesite')) {
function session_start_samesite($options = array())
{
global $g5;

$res = @session_start($options);

// IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다.
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
return $res;
}

$headers = headers_list();
krsort($headers);
foreach ($headers as $header) {
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
header($header, false);
$g5['session_cookie_samesite'] = 'none';
break;
}
return $res;
}
}

session_start_samesite();
} else {
@session_start();
}
//==============================================================================

이패치 까지 되어있습니다. 모바일은 잘되는데 크롬만 안되네요 흐미

댓글을 작성하려면 로그인이 필요합니다.

루비온
2년 전

원인을 찾았습니다.

 

우선 저는 관리자 아이디가 따로 있고 개인 계정이 따로 있습니다.

 

관리자 아이디로 로그인하고 로그아웃 후

 

개인계정으로 로그인 하고 인증을 받으려면 문제가 발생 합니다. 

 

인증 후 바로 세션이 끊기고 로그아웃 됩니다.

 

혹시나 하는 마음으로 쿠키를 지우고...

 

개인계정으로 로그인하고 인증을 받으면 문제가 발생하지 않습니다.

 

다시 한번 더블체크를 위해 또 관리자 계정으로 로그인 하고 로그아웃 후 개인 계정으로 시도하면 또 세션이 끊깁니다.

 

쿠키를 삭제하면 다시 멀쩡해지고요... 흠... 이거는 방법이 없을까요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

버전이 낮으시네요.

크롬80,90 패치를 한번 진행보시고 ssl로 설치를 해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

루비온
2년 전
크롬 80, 90 패치는 되어있고 ssl 도 적용중입니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인