파라미터 전송 질문있습니다.

파라미터 전송 질문있습니다.

QA

파라미터 전송 질문있습니다.

본문

예를들어 form.php에서 <form> 값을 $_POST['bn_bimg_del']형식으로 form_update.php로 전송하여 등록 혹은 수정 처리할 시 $bn_bimg_del이런식으로 바로 변수처럼 사용되던데 그 원리가 정확히 무엇인지 궁금합니다.

이 질문에 댓글 쓰기 :

답변 2

$bn_bimg_del 와 같이 사용하는 변수는 

post, get, sessoin 등 모든 변수를 다 포함하는 겁니다.

구분해서 사용하실때는 $_POST[변수명] 과 같이 사용하는 겁니다.

예전의 php에는 php.ini에 register_globals라는 설정값이 있어서

이 설정에 따라 변수를 자동으로 전역 할당하는 기능이 있었습니다.

예) $_GET['var'] 가 자동으로 $var로 할당됨

 

그런데 이런 정책은 보안상 매우 안좋기 때문에 점차 사용하지 않도록 변경되었는데

1) php.ini의 기본설정이 register_globals = off 로 변경됨(php 4.2.0)

2) register_globals 지시자가 deprecated 됨(php 5.3.0)

2) register_globals 지시자가 removed 됨(php 5.4.0)

(관련문서) http://php.net/manual/en/security.globals.php

 

현재 영카트는 common.php에서 extract() 함수를 써서 전역배열을 각각의 전역변수로 할당합니다.

예) extract($_GET);

 

참고로 보안적인 조치나 변수에 대한 검사 없이 extract() 함수를 사용하는 것은 매우 나쁜 습관입니다.

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

회원로그인

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