다른 아이피에 session 공유 관련 문의 드립니다.
본문
여러 의뢰글에도 남겼었다가 가격 보고 놀라서 혼자 해결하고자 합니다.
목적.
1. A 서버와 B 서버는 물리적으로 분리 되어 있습니다. linux 설치 되어 있고 php 로 로그인이 짜여져 있습니다.
2. A서버는 엄마 서버이고 B 서버를 인크루드 해서 문자값을 받아 오고 있습니다.
3. A서버에서 로그인하면 B 서버에서 인크루드 할 때도 같이 로그인을 유지하고자 합니다.
소스.
A 서버에서..
로그인을 하면 2가지 post 값을 땡겨 옵니다.
$mb_id = $_POST['mb_id'];
$mb_pw = $_POST['mb_pw'];
그리고 이 두가지 값을 땡겨 올 때 session 을 ./data/session에 생성을 하지요..
ini_set("session.use_trans_sid", 0);
ini_set("url_rewriter.tags","");
session_save_path("./data/session");
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
else
@session_cache_limiter("no-cache, must-revalidate");
ini_set("session.cache_expire", 60);
ini_set("session.gc_maxlifetime", 3600);
session_set_cookie_params(0, "/");
ini_set("session.cookie_domain", "");
if (!isset($_SESSION)) {
session_start();
}
이렇게 해서.. 아이디 비번이 있는지나 틀린게 있는지 쿼리 문을 한번 거쳐서..
$login_id = $_SESSION["login_id"] = $mb_id;
로 값을 넣고..
header("Location:./");
하여 index.php로 들어옵니다. 여기까지가 A 서버 로그인 과정입니다. 물론 B 서버 로그인 과정도 마찬가지 입니다.
그리고 이미지를 눌러서 B 서버로 들어가고자 하는데요.. 세션을 당연히 공유 시키는 소스가 없으니 답이 없겠지요.
phpschool 이나 구글링 이빠이 하고 있습니다. 참고 관련 내용도 보고 있는데 저한테 적용하려면 어느 소스에서 적용을 하여야 하는지 답을 못찾고 있습니다.
힌트라도 주시면 성실히 수행해 보겠습니다. 날이 춥습니다. 건강에 유념하시기 바랍니다.
!-->!-->!-->!-->
답변 3
회원이 대용량이 아니라면 db로 세션을 관리하시면 됩니다.
session이 ./data/session 폴더에 파일로 생성이 되더라구요.. 그 값만을 변수로 바꿔서 curl로 B 아이피로 전달하는 것은 성공했습니다. 값만 전달하더라구요.. 근데 B서버를 인쿠르드 하면 값만 전달하고 멈춰버립니다.. 파일을 전달 하여야 한나 싶어서 멈춰 있을 때 복사 해서 붙여넣었더니 이번에는 id와 pw를 전달 못하는 것처럼 보였습니다. 총체적인 문제네요..ㅠㅠ
참.. 세션을 유지시키기는 쿼리가..
if($_SESSION['login_id']){
$sql = "select a.*, b.lv_name from k_member a left join k_member_level b on(a.mb_level=b.lv_no) where a.mb_id = '".$_SESSION['login_id']."' ";
$result = mysql_query($sql);
$member = mysql_fetch_assoc($result) or die(mysql_error());
}
입니다.
!-->