register_form_update.php에서 에러가 발생했을때 뒤로 가기???
본문
위 글에 팁을 올려주신 분과 같은 내용입니다.
회원가입의 순서 :
1. register.php : 동의를 받죠.
2. register_form.php : 회원에게 여러 정보를 입력받습니다.
3. register_form_update.php : 회원에게 받은 정보를 검증하고 DB에 저장합니다.
회원가입 마지막 단계 즉 3단계에서 에러가 발생하여 얼럿창의 확인을 누르면
2단계로 가야 하는데, agree값이 없어서 "동의 안했으니 다시 1단계로 가라~"라는 얼럿이 뜨고
1단계로 돌아가버립니다...
사실 제일 좋은 방안은 (제 생각에...)
history.back이 수행되어 2단계에서 입력했던 내용이 그대로 있는 상태로 가면 좋겠는데...
걍 1단계로 가버리니...
사용자 입장에선 얼마나 짜증이 날까요?
대충 분석해보니...
URL이 없으면 histroy.back을 하는게 맞는것 같은 데...
어떤 보안 상의 이유인지... 이런 코드가 들어 있더라구요.
$url = clean_xss_tags($url, 1);
if (!$url) $url = clean_xss_tags($_SERVER['HTTP_REFERER'], 1);
$url = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", $url);
$url = preg_replace('/\r\n|\r|\n|[^\x20-\x7e]/','', $url);
// url 체크
check_url_host($url, $msg);
제 생각에는 저 코드때문에 $url이 없더라도 REFERER URL이 강제로 들어가는 것 같은데...
질문은 2개에요.
1. alert.php를 어떻게 수정해야 다른 소스들에 영향을 주지 않고
회원가입과 같은 로직에서 history.back()을 할 수 있을까요?
2. alert.php에 위 코드와 같은 로직이 추가된 이유가 너무 궁금합니다.
(사실 그 이유를 몰라서 섣불리 수정하기가 무섭거든요~)
잘 부탁 드립니다.
감사합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.