일반회원이 _admin폴더 또는 관리설정 페이지에 URL로 접근시 처리문제 정보
그누보드 일반회원이 _admin폴더 또는 관리설정 페이지에 URL로 접근시 처리문제본문
에구머니! comment로 한번 해보려고 했는데 한계가 있네요.
참고로, [나스카]라는 녀석은 php의 p자도 모르는 무식쟁이에, '아! 저것이 php인가 보구나!'라고 겨우 느낄 수 있다는
점만 참고해 주세요^^.
이런! 말씀하신 부분을 확인 해보니, 자바스크립트로 넘겨주는 부분이 아니었네요.
오류가 나는 부분은 하단에 기재된 내용 때문입니다.
//gnu/_admin/lib.php에서 urlencode된 부분이 관리자 영역으로 설정되어 있기 때문입니다.
그런데 왜 //gnu/_admin/defaultform.php 파일에 관해 언급하지 않고, lib.php파일을 언급하냐고 반문하실 수 도 있겠죠?
아시다시피 lib.php는 거의 모든 파일에 첨가(include, 연결)되어 있는 백과사전이며, 자동차의 엔진 같은 역할을 한다고 보시면 됩니다. 그 외에 파일들은 섀시가 될 수도 있고, 기어일 수도 있는 부분들입니다. 비유가 좀 이상했나요?
각설하고...
lib.php파일에서 상단부분에 다음과 같은 소스가 기재되어 있습니다.
1~2라인 같은 경우는 로그인하지 않았을 경우 로그인 폼으로 이동시키는 경우입니다.
문제가 없죠? 경고창 하나 뜨면서 확인버튼 누르면 로그인 폼으로 넘겨주니...
그런데, 고민하시는 부분은 하단 부분, 3라인 이하에 존재합니다.
조건인즉, 로그인을 했는데, 최고관리자가 아닐경우, 5라인 하단부의 urlencode가 그누보드의 관리자영역을 계속 맴돌게 설정되어 있습니다.
php를 운용하실줄 아는 분들은 어떻게 할 지 모르겠는데, 저는 php가 뭔~지^^
5라인 하단부분을 그냥 요렇게 넘겨버렸습니다. 사이트 초기페이지로 이동하게^^
alert('그룹관리자 이상 접근 가능합니다.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . 'index.php'));
1 if (!$member[mb_id]) {
2 alert('로그인 하십시오.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '_admin/'));
3 } else {
4 if (!($is_admin == 'default' || $is_admin == 'group')) {
5 alert('그룹관리자 이상 접근 가능합니다.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '_admin/'));
6 }
7 }
참고로, [나스카]라는 녀석은 php의 p자도 모르는 무식쟁이에, '아! 저것이 php인가 보구나!'라고 겨우 느낄 수 있다는
점만 참고해 주세요^^.
이런! 말씀하신 부분을 확인 해보니, 자바스크립트로 넘겨주는 부분이 아니었네요.
오류가 나는 부분은 하단에 기재된 내용 때문입니다.
//gnu/_admin/lib.php에서 urlencode된 부분이 관리자 영역으로 설정되어 있기 때문입니다.
그런데 왜 //gnu/_admin/defaultform.php 파일에 관해 언급하지 않고, lib.php파일을 언급하냐고 반문하실 수 도 있겠죠?
아시다시피 lib.php는 거의 모든 파일에 첨가(include, 연결)되어 있는 백과사전이며, 자동차의 엔진 같은 역할을 한다고 보시면 됩니다. 그 외에 파일들은 섀시가 될 수도 있고, 기어일 수도 있는 부분들입니다. 비유가 좀 이상했나요?
각설하고...
lib.php파일에서 상단부분에 다음과 같은 소스가 기재되어 있습니다.
1~2라인 같은 경우는 로그인하지 않았을 경우 로그인 폼으로 이동시키는 경우입니다.
문제가 없죠? 경고창 하나 뜨면서 확인버튼 누르면 로그인 폼으로 넘겨주니...
그런데, 고민하시는 부분은 하단 부분, 3라인 이하에 존재합니다.
조건인즉, 로그인을 했는데, 최고관리자가 아닐경우, 5라인 하단부의 urlencode가 그누보드의 관리자영역을 계속 맴돌게 설정되어 있습니다.
php를 운용하실줄 아는 분들은 어떻게 할 지 모르겠는데, 저는 php가 뭔~지^^
5라인 하단부분을 그냥 요렇게 넘겨버렸습니다. 사이트 초기페이지로 이동하게^^
alert('그룹관리자 이상 접근 가능합니다.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . 'index.php'));
1 if (!$member[mb_id]) {
2 alert('로그인 하십시오.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '_admin/'));
3 } else {
4 if (!($is_admin == 'default' || $is_admin == 'group')) {
5 alert('그룹관리자 이상 접근 가능합니다.', $gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '_admin/'));
6 }
7 }
댓글 전체
앗! 어차피 결과값은 같지만, 결과값에 도달하기 위한 과정만 약간 다를 뿐이죠.
^^ 감사라니요
전 그냥 원리만을 말씀 드렸을 뿐인데요.
그리고 한단계 상위로 보냈을때 에러가 없다면,
서버 기본 환경설정이 적용되어 있다면, index.html index.htm index.php index.jsp중에 한군데로 갑니다.
즉, urlencode($gnu_path . '../'));라고 했다면,
//gnu/_admin/index.php에서 //gnu/index.php로 옮겨진답니다.
여기서 문제점이 가끔 발생하는데, 네트웍 부하가 많거나, 서버가 불안정하면, 상대경로로 (../의 형식) 지정했을 경우, 경로에서 오류가 나기도 합니다.
전 그냥 원리만을 말씀 드렸을 뿐인데요.
그리고 한단계 상위로 보냈을때 에러가 없다면,
서버 기본 환경설정이 적용되어 있다면, index.html index.htm index.php index.jsp중에 한군데로 갑니다.
즉, urlencode($gnu_path . '../'));라고 했다면,
//gnu/_admin/index.php에서 //gnu/index.php로 옮겨진답니다.
여기서 문제점이 가끔 발생하는데, 네트웍 부하가 많거나, 서버가 불안정하면, 상대경로로 (../의 형식) 지정했을 경우, 경로에서 오류가 나기도 합니다.
나스카님 대단히 고맙습니다..!!
머리가 맑으신 분 같습니다,
이렇게 명료하게 설명을 해주시니 금방 '이해'하고 고쳤습니다.
지난 일요일날 영x문고 까지가서 php책을 포함 십마원 넘게 책을 사왔답니다.
언제나 머리가 맑아져서 찬찬히 읽어볼 수 있을지 걱정입니다만,
그런 날이 반드시 오리라는 희망을 가지면서,,
그리고 저는 이렇게 했답니다.
한단계 상위로 올리면 어디로 가실지 모르지만??
~~$gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '../'));
거듭 감사드립니다.
머리가 맑으신 분 같습니다,
이렇게 명료하게 설명을 해주시니 금방 '이해'하고 고쳤습니다.
지난 일요일날 영x문고 까지가서 php책을 포함 십마원 넘게 책을 사왔답니다.
언제나 머리가 맑아져서 찬찬히 읽어볼 수 있을지 걱정입니다만,
그런 날이 반드시 오리라는 희망을 가지면서,,
그리고 저는 이렇게 했답니다.
한단계 상위로 올리면 어디로 가실지 모르지만??
~~$gnu_path . 'bbs/mblogin.php?url=' . urlencode($gnu_path . '../'));
거듭 감사드립니다.
아! 체계적인 php 강좌를 어찌 배우낭!!!
원리파악 > 구조파악 > 소스파악 > 프로그래밍
요 과정중에 대충 원리파악 정도가 될까 말까 할 정도인데...휴~~~
원리파악 > 구조파악 > 소스파악 > 프로그래밍
요 과정중에 대충 원리파악 정도가 될까 말까 할 정도인데...휴~~~