도메인 3개사용시 정보
도메인 3개사용시본문
안녕하세요
도메인 a.com b.com c.com 3개를 가지고 있습니다
그누보드 하나에 3도메인을 연결하고 싶은데
$g4['cookie_domain'] = ".acom";으로 지정하면 b와 c로 접속하면
로그인이 되지 않네요 b와 c과도 쿠키공유할방법이 없을가요?
그리구 각 도메인으로 연결후 게시판으로 이동하면
http://a.com/bbs/board.php?bo_table=
http://b.com/bbs/board.php?bo_table=
http://c.com/bbs/board.php?bo_table=
이렇게 나오게 할수 없을가요?
상세히 알려주시면 감사하겠습니다
도메인 a.com b.com c.com 3개를 가지고 있습니다
그누보드 하나에 3도메인을 연결하고 싶은데
$g4['cookie_domain'] = ".acom";으로 지정하면 b와 c로 접속하면
로그인이 되지 않네요 b와 c과도 쿠키공유할방법이 없을가요?
그리구 각 도메인으로 연결후 게시판으로 이동하면
http://a.com/bbs/board.php?bo_table=
http://b.com/bbs/board.php?bo_table=
http://c.com/bbs/board.php?bo_table=
이렇게 나오게 할수 없을가요?
상세히 알려주시면 감사하겠습니다
댓글 전체
cookie_domain 을 적절히 잘 설정하면 공유하는 방법이 있을지도 모르겠습니다만
완벽한 싱크로나이즈는 아니지만
그냥 $g4['cookie_domain'] 은 원래대로 두시고
lib/common.lib.php 에서
// 쿠키변수 생성
function set_cookie($cookie_name, $value, $expire)
{
global $g4;
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', $g4[cookie_domain]);
}
를
// 쿠키변수 생성
function set_cookie($cookie_name, $value, $expire)
{
global $g4;
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'a.com');
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'b.com');
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'c.com');
}
으로 고치시면 될 것 같습니다.
그리고 아래 도메인은 DNS 설정으로 같은 서버로 연결만 해주면 될것 같고요.
어떤 서비스의 경우 이런 세팅이 필요한건지 조금 궁금해집니다 ㅎㅎ
완벽한 싱크로나이즈는 아니지만
그냥 $g4['cookie_domain'] 은 원래대로 두시고
lib/common.lib.php 에서
// 쿠키변수 생성
function set_cookie($cookie_name, $value, $expire)
{
global $g4;
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', $g4[cookie_domain]);
}
를
// 쿠키변수 생성
function set_cookie($cookie_name, $value, $expire)
{
global $g4;
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'a.com');
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'b.com');
setcookie(md5($cookie_name), base64_encode($value), $g4[server_time] + $expire, '/', 'c.com');
}
으로 고치시면 될 것 같습니다.
그리고 아래 도메인은 DNS 설정으로 같은 서버로 연결만 해주면 될것 같고요.
어떤 서비스의 경우 이런 세팅이 필요한건지 조금 궁금해집니다 ㅎㅎ
몽구스님
감사합니다
하지만 쿠키공유가 되지 않는듯 합니다
연전히 b.com 와 c.com은 로그인이 되지 않네요
다른 방법이 더 없을가요?
특별한 서비스는 없구요 도메인을 3개 가지구 있는데 각각 관리할려니
시간도 부족하고 해서 ... 도메인을 버리지 않는방법이 이렇게 하면 될것 같아서요 ㅋㅋ
즐거운 하루가 되세요
감사합니다
하지만 쿠키공유가 되지 않는듯 합니다
연전히 b.com 와 c.com은 로그인이 되지 않네요
다른 방법이 더 없을가요?
특별한 서비스는 없구요 도메인을 3개 가지구 있는데 각각 관리할려니
시간도 부족하고 해서 ... 도메인을 버리지 않는방법이 이렇게 하면 될것 같아서요 ㅋㅋ
즐거운 하루가 되세요
세 도메인으로 접속한 다음
브라우저 상에서 javascript:alert(document.cookie); 라고 해보세요
그래서 동일한 쿠키가 생성이 되는지 확인해주셔야 합니다.
저렇게 하면 그누에서 사용하는 쿠키공유는 될텐데, 세션 공유가 안되는 것 같네요.
PHP 세션이 내부적으로 쿠키 처리를 하고
cookie를 쓸때 그누보드의 set_cookie 라는 함수를 거치지 않기 때문에
세션 ID는 공유가 안되는 상황인 것 같습니다.
브라우저 상에서 javascript:alert(document.cookie); 라고 해보세요
그래서 동일한 쿠키가 생성이 되는지 확인해주셔야 합니다.
저렇게 하면 그누에서 사용하는 쿠키공유는 될텐데, 세션 공유가 안되는 것 같네요.
PHP 세션이 내부적으로 쿠키 처리를 하고
cookie를 쓸때 그누보드의 set_cookie 라는 함수를 거치지 않기 때문에
세션 ID는 공유가 안되는 상황인 것 같습니다.
세션 핸들링을 하면 근본적으로 해결할수 있을것 같긴한데 조금 복잡할 것 같고요.
http://www.php.net/manual/en/function.session-set-save-handler.php
common.php 에서
session_start(); 아래 부분에
setcookie('PHPSESSID', session_id(), 0, '/', 'a.com');
setcookie('PHPSESSID', session_id(), 0, '/', 'b.com');
setcookie('PHPSESSID', session_id(), 0, '/', 'c.com');
이렇게 3번 강제적으로 세션 cookie 고정해주면 될 것 같기도한데요.
자신은 없네요
해보시고 안되시면 세션 핸들링에 대해서 연구해보시면 될 것 같습니다
http://www.php.net/manual/en/function.session-set-save-handler.php
common.php 에서
session_start(); 아래 부분에
setcookie('PHPSESSID', session_id(), 0, '/', 'a.com');
setcookie('PHPSESSID', session_id(), 0, '/', 'b.com');
setcookie('PHPSESSID', session_id(), 0, '/', 'c.com');
이렇게 3번 강제적으로 세션 cookie 고정해주면 될 것 같기도한데요.
자신은 없네요
해보시고 안되시면 세션 핸들링에 대해서 연구해보시면 될 것 같습니다
감사합니다
여전히 되지 않네요 ㅋㅋ
'b.com' 'c.com' 로그인은 되는데 'a.com'으로 이동하면 로그인이 풀려 버리네요
여전히 되지 않네요 ㅋㅋ
'b.com' 'c.com' 로그인은 되는데 'a.com'으로 이동하면 로그인이 풀려 버리네요