급합니다 ㅜ 웹에 관련된 질문입니다.
글쓴이: gaeddong2 / 작성시간: 월, 2012/12/17 - 10:24오후
제가 어느 특정 웹페이지에 접속을 하려 할때, 제가 만들어놓은 HTML 로그인 페이지로 리다이렉션을 시킵니다. 그 후에 php,mysql을 연동하여
ID PW 작성 후 로그인 버튼을 누릅니다. 그 후에 로그인이 됬건 안됬건 로그인 버튼이 눌리게 되면 전에 요청했던 페이지로 돌아가려 합니다.
그런데, 전에 요청 페이지로 돌아가지 않고 리다이렉트 시켰던 방문 기록 때문인 것 인지 자꾸 다시 로그인 페이지만 뜨게 됩니다.
어떻게 해야 전에 요청했던 페이지로 이동이 되는지 알고싶습니다.
Proxy를 통해서 특정 웹페이지가 들어오는 조건을 주어 제가 만들어놓은 페이지로 이동시키게 했습니다.
웹 페이지 서버는 아파치 서버입니다.
Forums:
답변
$_SERVER['HTTP_REFERER']
이전 유입경로 인건 아시는거 같고.
(혹, 처음 접속한 페이지가 로그인 페이지는 아니시겠죠.)
리다이렉트 되는 페이지가 로그인 페이지면 그냥 메인 또는 특정 페이지로 이동을 시키는게 속 편합니다.
기회는 준비된 자에게만 온다.
(twitter @httpds)
감사합니다.
제가 프록시를 통해서 요청한 웹말고 제가 만든 로그인 페이지로 리다이렉트를 해서 일단 제가원하는 페이지를 띄우고
전에 요청했던 페이지로 다시 돌아가려고 합니다.
php에서 웹 요청 메시지를 해주엇는데, 계속 로그인페이지가 반복되서 뜹니다.
proxy를 통해하지않고, 그냥 일반 인터넷으로 똑같은 요청을 했을 때도 똑같이 로그인 페이지가 뜹니다.
방문기록에 남아서그런거같아서, 혹시 이런문제를 어떻게 해결해야하나요, 다시 요청을 하는데 제가 만든페이지말고 진짜 요청된 페이지로 가는거요.
맞는 답변인지는 모르겠지만..
1. 리다이렉트시 파라미터를 하나 가지고 로그인페이지로 유입합니다.
e.g. http://kldp.org/?rdurl=$_SERVER['HTTP_REFERER']
2. 로그인페이지에서 (VIEW) hidden 으로 폼값에 넣어줍니다. (이때 rdurl 이란 변수에 값이 없으면 $_SERVER['HTTP_REFERER'] 를 넣던지요.)
<input type=hidden name='rdurl' value='<?=$_GET['rdurl']?>'>
3. 로그인 action 처리시 rdurl 로 이동시킵니다.
보통은 이런 로직이지요.
기회는 준비된 자에게만 온다.
(twitter @httpds)
저는 로그인이 필요하면 401 헤더를 뿌리고 url
저는 로그인이 필요하면 401 헤더를 뿌리고 url 을 유지한 채 로그인 폼을 뿌려줍니다.
<?php
if(notlogined()) { header('HTTP/1.1 401 unauthorized'); echologinform(); exit; }
// 로그인 된 다음에~
?>
https://xenosi.de/
답변 감사합니다.
감사합니다.
댓글 달기