일반 유저의 경우 http://hoowave.dothome.co.kr/user/userpage.html
관리자의 경우 http://hoowave.dothome.co.kr/admin/adminpage.html
입니다.
비회원이 일반 유저, 관리자 페이지 접근
일반 유저가 관리자 페이지 접근
하는 것을 방지해 볼게요.
현재 폴더 구조가
이렇게 되어있어요.
아 참 hothome은 다른 이유 없이 dothome 치려다 오타 나서 hothome으로 됐어요..
main 폴더 안에서 회원가입, 로그인을 처리하고
/user
/admin
페이지로 분기하게 되는데 동시에
DB에서 받아온 회원 정보로
세션 값을 부여받습니다.
그 안에 권한 값도 있어요.
$localdir=explode("/",$_SERVER['REQUEST_URI']);
$localdir=$localdir[1];
세션 값을 가져오기 전에 현재 로컬에서 접속된 URL을 가져옵니다.
슬러시 문자열로 잘라서 첫 번째 디렉터리 명을 가져옵니다.
설계한 폴더 구조랑 같이 비교해 보면
회원가입, 로그인 처리할 때는 $localdir은 main이 되고
일반 유저일 땐 user 관리자일 땐 admin이 되겠죠..
switch($localdir)
{
case "user":
if(!isset($_SESSION['permit']))
{
header("Location: http://hoowave.dothome.co.kr");
}
break;
case "admin":
if($_SESSION['permit'] != 2)
{
header("Location: http://hoowave.dothome.co.kr");
}
break;
}
$localdir을 가져왔으면 폴더별로 세션 값과 비교해 줍니다.
user 폴더 내부에 접근할 땐 관리자도 접근할 수 있어야 되니까
permit이라는 세션이 존재하지 않는다면 메인 페이지로 리다이렉션 시키게 해놨고
admin 폴더 내부에 접근할 땐 관리자만 접근할 수 있어야 되니까
permit이라는 세션의 값이 2가 아닐 때만 메인 페이지로 리다이렉션 시키게 해놨습니다.
해당 코드를 config 파일이나 공통적으로 include 되는 곳에 넣어주면 되겠죠?
아 그리고 폴더를 추가한 뒤에는 따로 case 조건을 추가해서 처리하게 끔 해주시면 됩니다.
'Legacy > JS+PHP+SQL' 카테고리의 다른 글
글쓰기에서 콘텐츠 영역 ckeditor 사용하기 (0) | 2025.02.17 |
---|---|
공지사항, 이벤트 등 게시판 만들기 - 글쓰기 (1) | 2025.02.16 |
로그인 페이지 만들기 - 처리 (1) | 2025.02.16 |
회원가입 페이지 만들기 - 2 (0) | 2025.02.16 |
회원가입 페이지 만들기 - 1 (0) | 2025.02.16 |