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

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

QA

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

답변 2

본문

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

이 질문에 댓글 쓰기 :

답변 2

예전의 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() 함수를 사용하는 것은 매우 나쁜 습관입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,113
© SIRSOFT
현재 페이지 제일 처음으로