로그인 후 전페이지로 돌아가기 질문있니다.
본문
\bbs\login_check.php 89줄
goto_url($link);를
goto_url($url);로
\skin\member\basic\login.skin.php 14줄
<input type="hidden" name="url" value="<?php echo $login_url ?>">를
<input type="hidden" name="url" value="<?php echo $_SERVER['HTTP_REFERER'] ?>">로
변경 이후 로그인하면 이전페이지로 잘 돌아가긴하는데
로그인 정보를 한번 틀리고 나서 다시 로그인하면 '회원아이디나 비밀번호가 공백이면 안됩니다.' 라는 경고창이 뜨면서 메인페이지로 넘어가네요ㅠㅠ
이 문제 해결하려면 어떻게 해야 하나요?
답변 3
login_check.php 파일에서
위의 문구가 있는 영역의 alert 뒤에 $url를 변경하는것인데 안되신다는건가요?
javascript의 alert() 이 아닌
PHP상의 common.lib.php에 존재하는
alert(의 Prototype을 보시면
function alert($msg='', $url='', $error=true, $post=false)
로 되어있습니다.
처음 인자값은 메세지, 두번째는 $url 이고
URL을 전달하는
/bbs/alert.php 파일에서 보시면
<?php if ($url) { ?>
document.location.replace("<?php echo str_replace('&', '&', $url); ?>");
<?php } else { ?>
//alert('history.back();');
history.back();
<?php } ?>
이렇게 되어있습니다.
이전으로 돌아가는 기능중 페이지의 이력을 없애는
locaition.replace( link);
이긴하지만
돌아갈 link 자체가 입력된 값을 가지고 있기때문에
정상적으로 처리되어야 맞는데
안되는경우는
function clean_xss_tags($str) 의 제한에 걸리는게 아닌가 추측됩니다.
이전의 경로를 확인해 보시고,
그래도 원하시는결과가 아니면
return 되는 함수의 방법을 새로운처리패턴으로 하나 만들어서 사용하시는게 낫지 않을까 싶네요
alert('회원아이디나 비밀번호가 공백이면 안됩니다', $url);
config.php에서
define('G5_DOMAIN', '');
define('G5_HTTPS_DOMAIN', '');
주소를
g5_https_domain을 지우고 g5_domain에 넣어보세요.