DEV WIKI
백엔드 · 체크리스트

그누보드 로그인 안됨·로그인 풀림 확인표

그누보드5에서 로그인이 거부되거나 로그인 직후 풀릴 때 메일 인증, www·루트 도메인, G5_COOKIE_DOMAIN과 다음 요청의 세션 쿠키를 구분하는 확인표입니다.

적용 범위
본문에 적힌 운영 시점과 적용 환경이 일치하는 경우
출처 확인일
2026-08-29
최종 검토
2026-08-29
수정일
2026-08-29
적용 시점
장애 대응, 변경·이전
오류·수정 제보 (새 창에서 열림)

시작 전 확인

  • 로그인 화면의 오류 원문과 로그인 뒤 처음 이동한 URL을 기록할 수 있어야 합니다.
  • 비밀번호·PHPSESSID·자동 로그인 쿠키·회원정보를 기록하거나 공유하지 않아야 합니다.

확인 항목

로그인 화면의 원문, 로그인 요청 주소, 응답 뒤 처음 이동한 주소와 발생 시각을 기록합니다.

로그인 처리에서 비밀번호·메일 인증 안내가 표시된 경우와 성공 뒤 다시 로그아웃되는 경우를 구분합니다.

www가 있는 주소와 없는 주소 중 어느 주소에서 로그인했고 어느 주소로 이동했는지 기록합니다.

config.php의 G5_COOKIE_DOMAIN 값과 실제 접속 도메인을 비교합니다.

로그인 응답의 세션 쿠키 속성과 다음 요청의 쿠키 전송 여부를 값이 아닌 상태로 확인합니다.

다음 요청에 쿠키가 전달됐는데 로그인 상태가 없으면 서버의 세션 기록·조회 상태를 별도로 확인합니다.

수정 후 같은 브라우저에서 로그인, 첫 이동, 새로고침과 www·루트 도메인 이동을 다시 확인합니다.

완료 판정

  • 로그인 거부, 세션 쿠키 미전송, 서버 세션 조회 실패 중 확인된 실패 구간이 기록됩니다.
  • 같은 브라우저와 의도한 도메인 범위의 반복 확인에서 로그인 상태 유지 결과가 확인됩니다.

주의사항

변경 전 확인

  • 확인 없이 G5_COOKIE_DOMAIN을 다른 도메인으로 바꾸거나 쿠키의 Secure·HttpOnly 속성을 해제하지 않습니다.
  • 세션 쿠키 값, 비밀번호, 자동 로그인 키와 회원정보를 화면 캡처·로그·문의 자료에 포함하지 않습니다.

담당자에게 전달할 내용

  • 그누보드5 버전, 접속 호스트, G5_COOKIE_DOMAIN 설정 여부, 오류 원문과 쿠키 전송 상태만 담당자에게 전달합니다.

적용 범위와 근거

그누보드에서 “로그인 안됨”과 “로그인 풀림”은 같은 상태가 아닙니다. 로그인 처리에서 인증이 거부된 경우, 로그인 성공 뒤 세션 쿠키가 다음 요청에 전달되지 않은 경우, 쿠키는 전달됐지만 서버가 세션을 읽지 못한 경우를 나눠 확인합니다.

먼저 증상을 구분합니다

관찰 결과먼저 확인할 위치다음 판단
로그인 화면에서 비밀번호·메일 인증 안내가 표시됨화면의 정확한 안내 문구와 계정 상태로그인 성공 뒤 세션이 풀리는 문제와 구분합니다.
로그인 성공 뒤 같은 주소의 다음 화면에서 바로 로그아웃됨로그인 응답의 세션 쿠키와 다음 요청쿠키 발급·전송 상태를 비교합니다.
www.example.comexample.com 사이에서 이동할 때만 풀림config.phpG5_COOKIE_DOMAIN과 실제 호스트두 호스트에서 쿠키를 공유하도록 의도했는지 먼저 확인합니다.
다음 요청에 세션 쿠키가 전달되지만 로그인 상태가 없음서버의 세션 기록·조회 상태쿠키 범위 변경 전에 서버 세션 상태를 확인합니다.

확인 순서

  1. 로그인 화면의 문구, 로그인 요청 URL, 성공 뒤 처음 이동한 URL과 발생 시각을 기록합니다.
  2. 비밀번호 오류나 메일 인증 안내가 보이면 문구를 그대로 기록합니다. 그누보드5의 login_check.php는 메일 인증이 필요한 계정을 회원 세션 생성 전에 별도로 안내합니다.
  3. 로그인 성공 화면이 보였다면 응답에 세션 쿠키가 있는지 확인합니다. 값은 복사하지 않고 Domain·Path·Secure·HttpOnly·SameSite 속성만 기록합니다.
  4. 바로 다음 요청에서 같은 세션 쿠키가 전송되는지 확인합니다. 브라우저 개발자 도구에서는 쿠키 값이 아니라 포함 여부와 차단 사유만 기록합니다.
  5. 로그인 URL과 다음 URL의 호스트를 비교합니다. www 유무가 달라질 때만 풀리면 config.phpG5_COOKIE_DOMAIN을 확인합니다.
  6. 공식 config.phpwww.sir.krsir.kr을 서로 다른 도메인으로 설명하며, 설정이 비어 있으면 두 호스트 사이에서 로그인이 풀릴 수 있다고 명시합니다.
  7. 다음 요청에 쿠키가 전달됐는데 로그인 상태가 없다면 애플리케이션 서버에서 같은 세션을 기록하고 조회하는지 확인합니다. 이때 실제 세션 ID나 회원정보를 로그에 추가하지 않습니다.

www·루트 도메인 확인

G5_COOKIE_DOMAIN은 모든 로그인 문제의 해결값이 아닙니다. 사이트가 한 호스트만 사용한다면 먼저 그 호스트로 301 또는 308 이동이 일관되게 적용되는지 확인합니다. 두 호스트에서 로그인을 공유해야 하는 운영 정책이 있을 때만 현재 설정과 의도한 범위를 비교합니다.

로그인 URL:로그인 뒤 첫 URL:www 유무가 바뀌었는지:G5_COOKIE_DOMAIN 설정 여부:응답에 세션 쿠키가 있었는지:다음 요청에 쿠키가 전달됐는지:서버가 같은 세션을 읽었는지:

범용 쿠키·세션 분기는 로그인 상태가 유지되지 않아요에서 확인합니다. 그누보드 외 PHP 사이트의 세션 저장 문제와 이 설정을 같은 원인으로 단정하지 않습니다.

관련 오류·증상

관련 플랫폼

참고 자료

gnuboard5 config.php – G5_COOKIE_DOMAIN (새 창에서 열림)

gnuboard · 공식 자료 · 확인 범위: www가 있는 도메인과 없는 도메인은 서로 다른 도메인으로 인식되며, G5_COOKIE_DOMAIN이 비어 있으면 두 호스트 사이에서 로그인이 풀릴 수 있습니다. · 확인일: 2026-08-29

gnuboard5 common.php – 세션 쿠키 설정 (새 창에서 열림)

gnuboard · 공식 자료 · 확인 범위: 그누보드5는 HTTPS 여부에 따라 세션 쿠키의 Secure·HttpOnly 값을 설정하고 G5_COOKIE_DOMAIN을 session.cookie_domain에 적용합니다. · 확인일: 2026-08-29

gnuboard5 login_check.php – 로그인 세션 생성 (새 창에서 열림)

gnuboard · 공식 자료 · 확인 범위: 메일 인증이 필요한 계정은 세션 생성 전에 안내하고, 로그인 성공 처리에서는 세션 ID를 갱신한 뒤 회원 ID 세션을 생성합니다. · 확인일: 2026-08-29