1개서버에 그누보드 2개사용시 로그인 공유 질문드립니다.
본문
카페24 호스팅 사용 : 1개 서버에 www밑에a(아미나보드a)와 b폴더(그누보드b) 모두 2개의 그누보드를 설치후 회원정보를 공유해서
사용하고 있습니다. 회원공유는 잘됩니다. 하지만 문제는 a로그인후 b로그인시 재 로그인을 해야 하는데요.
a로그인하면 b에로그인이 되어있도록 하려고 합니다.
/www/아미나보드(a)
/www/b폴더(그누보드설치 폴더명:POTAL1)
그래서 질문 찾아보니 아래 세션 부분경로 수정을 해봐도 안됩니다.
------------------------------
a와 b폴더의 config파일 동일하게 수정
define('G5_MOBILE_PATH', G5_PATH.'/'.G5_MOBILE_DIR); -> 이파일을
define('G5_SESSION_PATH', '/home/hosting_users/나의계정아이디/www/'.G5_DATA_DIR.'/'.G5_SESSION_DIR);
-> 이렇게 절대경로로 수정함.
----------------------------
common.php 파일은 보안상의 문제로 수정은 안했습니다.
a아미나보드설치 : https://wedgo1.cafe24.com/
b그누보드설치 : https://wedgo1.cafe24.com/POTAL1/
테스트 아이디 : test 비번 : 11
답변 4
// 세션 시작
session_start();
// 세션 변수 설정
$_SESSION['username'] = 'John';
// 세션 변수 읽기, 즉 a, b소스에서 아래와 같이 접근하면 됨
$username = $_SESSION['username'];
echo $username; // 출력: John
php.ini 파일 열어서
session.save_path 이부분 같은경로로 수정해보세요.
수정하시고 웹서버 재시작 해보세요.
세션은 사이트를 기준으로 하도록 되어있습니다.
swallow 님 말씀은 세션을 배열로 만들어서 공유하도록 하라는 의미로 보여집니다.
사실 저게 되는지는 저도 지금 알았고..보통 사이트의 주소가
xxx.com 이라고 할때 해당 도메인에서 세션이 유지되도록 서버가 설정이 되어있습니다.
그걸 wodud3073 님께서 설명하신듯 합니다.
쿠키는 브라우저에 명칭을 통합하여 저장하기에 세션보다는 쿠키를 사용하시는게 득이시지 않을까 생각해봅니다.
로그인 처리 하는 /bbs/login_check.php 페이지 안에
set_session 으로 생성시키면서 동시에 set_cookie 역시 생성시킬텐데요...
쿠키를 A사이트에서 로그인 해서 생성 후 B 사이트에서 echo "<pre>";print_r($_COOKIE); echo "</pre>";
해보셔서 나타나는지 체크 해보세요.
세션 로직을 추가로 구현해야할텐데요?