$is_admin 이 변수는 전역변수인가요?

$is_admin 이 변수는 전역변수인가요?

QA

$is_admin 이 변수는 전역변수인가요?

본문

조금전 아래와 같은 코드를 운영중인 사이트에 실시간으로 적용하였습니다.

 



if($member[mb_id]=='admin' ){$is_admin ='super'; $member['mb_level']=10; }

 

그런데 해당 코드를 작성 후 admin 계정으로 로그인한 뒤 아차! 하고 다시 되돌린 이유가

서버에서 돌아가는 php엔진은 하나일텐데, 조건문이 true가 되서 저 $is_admin='super'가 실행된다면

제 id뿐만 아니라, 접속 중인 모든 유저에게 적용되는 것인가 하는 의문이 들어서였거든요. 그럼 모든 유저가 관리자 페이지 접속 권한이 생길테니 큰일인데...

 

아니면 접속중인 모든 유저마다 별개의 session으로 나눠서 각 변수가 제작기 php엔진에서 할당하고 있다고 생각해야 할까요?

 

궁금합니다ㅠ

이 질문에 댓글 쓰기 :

답변 4

그누보두의 모든 프로그램이 /common.php를 include하므로 전역변수라고 보시면됩니다.

$member변수가 따로 수정한게 없다면 접속한 유저의 정보를 담은 변수이므로 관리자말고는 조건문이 true가 될일은 없을거 같습니다

생각하고 계신것처럼 모두 다른 세션으로 처리되어 그런일은 일어나지 않으니 걱정않으셔도 됩니다. 

위 코드대로 실행하실경우 admin 이란 아이디로 접속했을경우에만 super 권한을 얻고 레벨 10이 됩니다. 

확인해 보고 싶으시면 같은 컴퓨터로 다른 브라우져 두개를 켜놓고 동시에 접속해서 테스트 해 보시면 

쉽게 확인하실수 있습니다. 

모든 유저에게 관리자 페이지 접속 권한이 생기지 않습니다.

 

$member 변수는 현재 로그인한 사용자의 정보가 저장되어 있습니다.

A 유저의 경우 $member['mb_id'] 값은 'A' 입니다.

B 유저의 경우 $member['mb_id'] 값은 'B' 입니다.

admin 유저의 경우에만 $member['mb_id'] 값이 'admin' 이고, 해당 코드는 admin 유저에게만 적용됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT