피플투피플소셜네트웍스(주) 인터넷의 시작 이로긴 :: 고객만족 웹호스팅, 도메인, 서버호스팅, 이미지링크, 무료쇼핑몰, 웹메일
 
리셀러제휴추천인혜택적립금제도트래픽알림
home회원가입로그인     
소프트웨어 할인 판매24시간365일고객지원
도메인 호스팅 웹메일 무료서비스 홈페이지제작 비즈니스 이로긴강좌 고객센터 나의서비스
Member Login
아이디저장 보안
회원가입아이디ㆍ비밀번호찾기
ns1.elogin.co.kr
110.45.165.11
ns2.elogin.co.kr
110.45.165.12

웹프로그램개발
홈페이지제작,쇼핑몰제작

02-805-0456
세금계산서,현금영수증 신청
신용카드영수증 발행 신청
무통장입금 알리미

Home > 회원광장 > 팁&태그

올린이 : 노성우 [124.xxx.39.xxx] 조회수: 1887 2010-01-29 12:44:21
   제 목 : PHP register_global on 을 하지 말아야 하는 이유
홈페이지 : http://www.moneybag.co.kr, Hit:635

가장 간단하게 설명 드리겠습니다.




예) 아이디를 체크하기 위해 세션변수 $id 에
    아이디가 들어있습니다.


기존 구문


페이지 주소 login_check.php
if (empty($id)) {

  로그인이 되지 않았습니다.
  exit;
}


register_global on 일 때
login_check.php?id=가짜아이디
if (empty($id)) {

  로그인이 되지 않았습니다.
  exit;
}


위 구문은 통과됩니다.
$id 가 $_GET['id'] 가 되었기 때문입니다.


즉 보안 문제 또는 서로 다른 GET, POST. SESSION 변수가 같을 경우
문제가 생길 여지가 다분합니다.


항상 코딩을 할 때는 정확하게......


$_GET['id'];
$_POST['id'];
$_SESSION['id'];
$_COOKIE['id'];
와 같이 코딩하는것이 바람직합니다.


ps) $_GET[id] 보다는 $_GET['id'] 로 적는것이 속도향상에 이득이 됩니다.
$_GET[id] 를 적을 경우
상수를 먼저 찾고 없을 경우 GET 을 가져옵니다.
상수: define(id, 'id 값');




 
적립금정책회사소개채용안내스팸정책개인정보취급방침 서비스약관찾아오시는길사이트맵