테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5 로그인/로그아웃 시 현재 페이지 유지 질문 입니다. 채택완료

이아나 10년 전 조회 7,829

그누보드5 로그인과 로그아웃 시 메인 페이지로 이동하는것을

현재 페이지로 계속 유지할려고 합니다.

 

여러가지 방법들이 있는데 로그인과 로그아웃 시 로그인, 로그아웃 이전의 페이지/로그아웃 한 현재 페이지를 유지하고 싶습니다.

 

어떻게 해야하나요?

 

아래에서 로그아웃 시 현재 페이지를 유지 하는 방법을 사용해보았는데

로그인 시 현재 페이지 유지는 안되고 계속 메인으로 넘어가네요...

 

여러분들은 로그인, 로그아웃 시 현재 페이지 유지를 어떻게 하고 계신지요...?

안전성 때문에 그냥 메인으로 이동 하게 하는것이 낫나요?

 

------------------------------------------------------------------------------

 

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25976" target="_self">http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25976 

 

게시물 내용 처럼 로그 아웃 페이지 하단에

</p><p>} else {</p><p>    // $link = G5_URL;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$link = $_SERVER['HTTP_REFERER'];</p><p>} </p><p>

위와 같이 수정을 하면 로그아웃 시 현재 페이지에 계속 남아있게됩니다.

 

그런데 로그인 시 login_check.php 파일 하단에

</p><p>} else  {</p><p>    // $link = G5_URL;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$link = $_SERVER['HTTP_REFERER'];</p><p>} </p><p>

위와 같이 수정을 하여도 계속 메인 페이지로 이동 합니다.

$link = $_SERVER[REQUEST_URI];를 사용해 보아도 같은 현상이 발생하네요...

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
10년 전

login_check.php 나 logout.php 파일안에 있는 $link 를 수정하시 마시고, 

로그인체크나 로그아웃하는 php 에 url 변수를 보내십시오. 

 

login_check.php?url=urlencode($_SERVER['PHP_SELF']​; ?> logout.php?url=urlencode($_SERVER['PHP_SELF']​; ?>

 

이런 식으로요.. POST 나 GET 은 방식에 따라 적용하시면 됩니다. 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이아나
10년 전
답변 도움이 됐습니다.

일단 제 상태는 그누보그5 사용자 데모 처럼 메인에 로그인 영역이 존재하지 않으며,
상단의
[code]<a href="<?php echo G5_BBS_URL ?>/login.php">로그인</a>[/code]
[code]<a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a>[/code]
을 눌러야 로그인 페이지가 나타나며, 로그아웃은 링크를 클릭하면 바로 로그아웃이 됩니다.

head.php 에서
[code]<a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a>[/code]
.php 뒷쪽에
[code]?url=<?php echo $urlencode ?>[/code]
이런식으로 붙여주니 로그아웃 시 마지막으로 로그아웃을 눌른 페이지에 머물게 됐습니다.

그리고 로그인을 할때도
로그인 성공시 마지막 로그인 페이지로 이동하는 링크를 누르기전에 페이지로 이동하게 됐습니다.

[code]/login.php?url=<?php echo $urlencode ?>[/code]
이외 다른곳을 손본곳은 없습니다.

추가로
이런 식으로요.. POST 나 GET 은 방식에 따라 적용하시면 됩니다.
라고 하셨는데 POST와 GET일때는 어떻게 다른 방식으로 적용해야하나요?

그리고 답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

10년 전

이아나 님이 말씀하신 것이 맞습니다. ^^

와 같은 방법으로 코딩 하는 것이 POST 라고 생각하시면 됩니다. 

 

그리고, POST 방식이 보안에 좀 더 유리하기 때문에, 

아이디와 비번을 보내는 로그인에는 POST 방식을 사용합니다. 

 

로그아웃 할 때는 민감한 정보를 주고 받지 않기 때문에, 

그냥 logout.php?url=XXXXXX 이렇게 get 방식으로 사용해도 문제가 없습니다. 

 

 

메뉴얼과 관련해서는,

메뉴얼 게시판에 있는 내용들은 웹사이트를 이용하는 사용자적인 측면의 성격이 강한 것이 맞습니다. 

 

프로그래머 입장에서 필요한 정보들은.. 아래를 참고해 보십시오.

http://sir.co.kr/bbs/board.php?bo_table=g4_dic">http://sir.co.kr/bbs/board.php?bo_table=g4_dic 

그누보드4 에 관한 내용이지만, 기본 디비와 로직을 이해하시면 그누보드5를 접하시는 데에 도움이 될 것입니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

logout.php?url=**** 이렇게 보내는 것이 GET 방식이고, 

POST 방식으로 보내실 때는, form 태그 안에 코딩을 하시면 된다는 것입니다. ^^

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이아나
10년 전
제가 PHP는 잘 모르는 부분이 있어서 그런데요..
post, get 방식으로 보낼때 프로세서(?)를 처리하는 login_chk.php 같은곳으로
정보를 보낼때 input value 같은곳에다가 담아서 넘기라는 말인건가요?

제가 개발 공부를 아주 얇게해서 잘 모른답니다 ㅜㅜ..
PHP는 그누보드 하면서 처음 보거든요 ㅜㅜ..

근데 제가 덧글을 달았던 내용 안전성은 어떤가요?
개인 사이트가 아닌 진짜 상업용으로 사용할때도 괜찮은지... 궁금합니다.

그리고 그누보드 변수명이라던지 소스 분석이 좀 어려운데 메뉴얼 게시판에는 관리자 페이지 정도의 설명서 밖에 없는거 같은데... 그누보드5 처음 사용자들이 읽기 쉬운 책같은게 존재하는지요..?

그리고 추가 답변 달아주셔서 감사합니다(__)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인