묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
세션 적용이 안되네요.
2003.04.21 12:36
회원 인증을 세션을 이용해서 하려고 합니다.
운영자의 경우 admin.php로 접속해서 아이디와 비밀번호를 입력받아 미리 저장된 값과 비교해서 같으면 로그인을 시킵니다.
admin.php의 최상단은 아래와 같습니다.
session_start();
if(session_is_registered("admin_password")) {
세션 생성이 되어있지 않으면 admin_check.php로 가서 아이디와 비밀번호를 입력받고, 입력된 값을 디비에 저장된 값과 비교해서 같으면
session_register( "admin_password" );
를 실행한 다음 로그인 성공 멘트를 날리고 다시 admin.php로 돌아옵니다.
뭐 대충 이런 식입니다. 응시자도 비슷합니다.
그런데 어떤 계정에서는 잘 되는데 어떤 계정에서는 안됩니다. 로그인 성공 멘트까지는 날아오는데 다시 admin_check.php로 돌아갑니다.
phpinfo의 세션 부분을 봤지만, 잘 볼줄을 몰라 헤메고 있습니다.
세션 설정이 다른 계정과 좀 다른 부분이 있는지 어쩐지 모르겠습니다.
$HTTP_SESSION_VARS[]을 사용하면 된다는 말을 들었는데 어떻게 적용시키는지 잘 이해가 안갑니다.
참고로 테스트한 계정은 모두 register_globals=on 입니다.
운영자의 경우 admin.php로 접속해서 아이디와 비밀번호를 입력받아 미리 저장된 값과 비교해서 같으면 로그인을 시킵니다.
admin.php의 최상단은 아래와 같습니다.
session_start();
if(session_is_registered("admin_password")) {
세션 생성이 되어있지 않으면 admin_check.php로 가서 아이디와 비밀번호를 입력받고, 입력된 값을 디비에 저장된 값과 비교해서 같으면
session_register( "admin_password" );
를 실행한 다음 로그인 성공 멘트를 날리고 다시 admin.php로 돌아옵니다.
뭐 대충 이런 식입니다. 응시자도 비슷합니다.
그런데 어떤 계정에서는 잘 되는데 어떤 계정에서는 안됩니다. 로그인 성공 멘트까지는 날아오는데 다시 admin_check.php로 돌아갑니다.
phpinfo의 세션 부분을 봤지만, 잘 볼줄을 몰라 헤메고 있습니다.
세션 설정이 다른 계정과 좀 다른 부분이 있는지 어쩐지 모르겠습니다.
$HTTP_SESSION_VARS[]을 사용하면 된다는 말을 들었는데 어떻게 적용시키는지 잘 이해가 안갑니다.
참고로 테스트한 계정은 모두 register_globals=on 입니다.
session_start();
if (isset($_SESSION['admin_password]') && $_SESSION['admin_password'] != '')
{
// 관리자 모드
}
else
{
// admin_check.php 로 이동
}
?>
이미등록된 세션변수에 다시한번 값을 넣어 등록하는것은 무의미 한거 같습니다.