2026, 새로운 도약을 시작합니다.

세션이 안 넘어오는 문제

안녕하세요. 회원가입시 관련 내용을 입력하고 확인을 누르고 난 뒤에

register_form_update.php

139줄 라인에서

        if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick || get_session('ss_check_mb_email') != $mb_email) {

            set_session('ss_check_mb_id', '');

            set_session('ss_check_mb_nick', '');

            set_session('ss_check_mb_email', '');

            alert('올바른 방법으로 이용해 주십시오.');

        }

get_session('ss_check_mb_id')

get_session('ss_check_mb_nick')

get_session('ss_check_mb_email')

해당 파일에서 print_r($_SESSION); 을 해보면, ss_token, ss_captcha_key, ss_captcha_save 등 몇가지는 값이 나오긴 하지만, 위의 3가지는 아예 세션이 저장되어 있지 않습니다.

그래서 '올바른 방법으로 이용해 주십시오' 라고 에러창 메세지가 뜨는데

혹시 이와 관련해서 어떤 문제로 인한 것인지 알 수 있을까요?

php 버전은 PHP Version 8.4.10p1 입니다.

session

Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary
Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter no-cache, must-revalidate nocache
session.cookie_domain no value no value
session.cookie_httponly On Off

답변 7개

common.php 에 조건에 따라 세션을 초기화 하는 부분이 있는데 그 부분 확인 해보시면 될거같아요!
 
로그인 후 평가할 수 있습니다

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

위 플래토님 딥변 주신것도 해보시고요
소스중 최상단에 session_start(); 야 하며 그느보드는 이것을 기본으로 잡아주고 있습니다.
다른 소스가 잇는지 확인 해 주시고요

ib/common.lib.php 파일 3818 번째줄에 아래 코드 넣어보세요

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
로그인 후 평가할 수 있습니다

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

설정충돌로 보여지는데요

위의 값중에

session.auto_start   Off 로 보여진것으로 보아

on으로 변경해보시고

시작의 흐름에서

@session_start(); 가 존재하고 작동하는지를 확인해보시는게 필요해 보입니다.

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

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

다른 세션들은 있다는건 세션 생성 폴더나 퍼미션엔 문제가 없다고 봐야할거고 register_form 에서 submit할때

jquery.register_form.js를 통해 ajax로 중복체크등하고 언급하신 세션이 생기고 update로 넘어가는 로직인데 form의 submit처리쪽에서 ajax없이 그냥 넘어간거같습니다. 원본소스의 register_form.skin.php하단의 스크립트와 비교해보시고 브라우저 콘솔에서 에러가 없는지 체크해보세요

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

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

세션 폴더내 파일을 모두 삭제 후 다시 테스트해보세요.

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

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

common.php 216행 주석을 없애고 테스트 해보세요

// 세션파일 저장 디렉토리를 지정할 경우
// session_save_path(G5_SESSION_PATH);

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

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

여러가지 원인이 있을수 있는데 혹시 아래의 권한이 707 이 되어 있는지 다시 한번 확인을 해보시겠어요?

/data/session/

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

답변에 대한 댓글 1개

네. 그렇게 처리한 상태였습니다. 질답 어디서 보기엔 그누보드 5.5 버전 이후부터는 세션 파일 저장을 하지 않는다고 한 것 같습니다.

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

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

로그인
🐛 버그신고