Danny's 유용한 ASP 팁s

   강좌 최초 작성일 : 2003년 07월 25일
   강좌 최종 수정일 : 2003년 08월 04일

   강좌 읽음 수 : 33686 회

   작성자 : Danny(전 성대)
   편집자 : Taeyo(김 태영)

   강좌 제목 : 로그인 후 원래 페이지로 되돌리기 

강좌 전 태오의 잡담>

 

이 강좌는 Danny(전성대) 님께서 제공하는 유용한 팁들의 퍼레이드 랍니다. ^^

 

전성대님의 메일주소는 junsd@korea.com 이니까요.
강좌와 관련하여 추가적으로 궁금한 부분이 있거나 하시면 메일로 문의하세요 ^^
혹은, 전성대님의 사이트인
http://sanso.pe.kr 을 이용하셔도 된답니다. ^^


 

안녕하세요. 오늘은 로그인 처리 후에 사용자가 머물럿던 페이지로 되돌려 보내는 방법과 응용으로 사이트를 어느 경로를 통해서 들어왔는지 알아보는 팁입니다.^^

사이트 내부를 서핑하다가 회원만 접근 가능한곳을 유저가 접근하려할 때....
보통 로그인 페이지를 띄워주게 됩니다.... 근데 말이죠.

사실, 이를 해결하기 위해서 주로 사용한 방법은 ... [해당 페이지마다 로그인 링크 부분에 현재의 파일이름이 무엇인지 login.asp?prepage= 현재페이지이런 형태로 넘기고, 로그인 처리 페이지에서는 우선 로긴 처리를 한 다음에 이 원래의 페이지로 Redirect를 하도록 하는 방법]들을 주로 사용하시는데요...

 

이렇게 하는 데는 사실 한계가 있습니다. 그렇다고 해서, 현재의 페이지마다 세션이나 쿠키정보를 저장해서 로그인페이지에서 그쪽으로 되돌려 보내기도 쉬운일이 아니죠. 그렇습니다. 이번 팁은 바로 이럴 때!! 대체적으로 사용하는 방법인 것입니다...

 

이번 팁의 핵심은 다음 자바스크립트 코드입니다.

 

escape(document.referrer)

 

자바스크립트인 이것은 history.go(-1) 페이지의 파일 이름입니다. 즉, 바로 이전 단계의 페이지인 것이죠. 자~ 로그인 페이지로 넘어왔다고 가정해 봅시다~~  그러면, 코드를 다음과 같이 구성하는 것이죠

 

    <script>
        aaa.prepage.value = escape(document.referrer);
    </script>
    <form name="aaa" method="post" action="login_ok.asp">
        <input type="hidden" name="prepage">
        아이디 : ---
        패스워드 : --

        커밋
    </form>

 

그 다음에, login_ok.asp 페이지에서 hidden 값 request("prepage") 를 받아서 처리하시면 됩니다.. ^^;ㅇ 다시 말해서, login_ok.asp 에서 prepage 값으로 돌려보내면... 사용자 입장에서는 로그인 바로 전에 머물럿던 페이지로 다시 되돌아가게 되는 것입니다. ^^

 

오호~ 거참 편리하군요. 로그인 버튼 클릭할때마다 현재의 페이지를 링크하지 않아도 되니까요.

 

헛.... 그렇다면? 네~ 그렇습니다. 응용편이 있겠죠.

 

history.go(-1) 의 파일이름(경로)을 안다는것은 사이트 처음 페이지에서 값을 받게 되면 어느 경로로 현재의 사이트로 들어왔는지 알 수가 있다는 이야기가 됩니다. 야후에서 검색을해서 들어 왔는지.. 아니면 네이버에서 검색해서 들어왔는지... 아니면 직접 url 을 치고 들어왔는지.. 도 마찬가지로 알 수 있다는 것이죠!!

 

그렇습니다.

 

이는 history.go(-1) 의 값을 가져오기 때문에, 인덱스에서 값을 받게 된다면 어느 검색엔진을 이용하여, 또는 어느 배너를 클릭해서 들어왔는지 통계를 뽑을수 가 있게 되는 것입니다. 이 부분은 한번 직접 해보세요 ^^


이상. 응용편까지 마치겠습니다. 모두 행복한 하루되세요^^

2008/02/21 15:53 2008/02/21 15:53

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다