로그인을 하고 나서 원래페이지로 돌아가려면 어떤 기법을 쓰는게 제일 좋나요?
조회수 3033회
예를들어 웹 서비스를 위해 페이지를 돌아다니다가 로그인을 요구하는 페이지에 진입한다면
로그인을 하고 원래 페이지로 돌아가야 할 겁니다.
위의 상황을 위한 처리 기법이랄게 따로 있는지도 모르겠지만 보편적으로 많이 쓰이는 방식이 어떤게
있는지 궁금합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
간단합니다. 로그인전 url(레퍼러)을 기억해놓고 로그인 성공시 그 url 로 redirect 하시면 됩니다.
방법은 여러가진데 보통 쓰는방법은
url에 같이 넘긴다
로그인이 필요한시점에서 로그인을 안했다면 login?next_url=post/write 이런식으로 보냅니다
그리고 로그인성공시 쿼리스트링 next_url 을 읽어와서 redirect 하는 방법입니다
혹은 세션이나 input에 저장한다
위랑 별다를게없습니다. 이제 그 레퍼러를 세션이나 input type hidden 이런데 기록하는거죠.
그럼 서버에서 로그인 성공시 그걸 읽어와서 그냥 redirect만 시키면 됩니다
<input type="hidden" name="next_url" value="{서버언어로 레퍼러 받아오기}">
// redirect전 세션에 현재 url 저장 // 그다음 로그인 요청시 if (로그인성공시) { redirect(세션에 저장한 url); }
이렇게 하시면 됩니다.
몇가지 수정해주면 좋을부분은 가져온 url그대로를 redirect를 시키면 csrf같은 공격을 시도할수도 있으니 필터링을 해주는것도 좋습니다
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력