초기 WEB 애플리케이션 개발에서 CGI 프로그램을 개발하는데 사용했던 기억이 있다면 , 지루한 양식 처리에 대해 깊이 이해하게 될 것입니다. PHP의 Register_globals 구성 옵션이 켜져 있으면 복잡한 원시 양식 처리가 더 이상 존재하지 않으며 공용 변수가 자동으로 생성됩니다. PHP 프로그래밍을 쉽고 편리하게 만들어 주지만 보안 위험도 따릅니다.
사실, Register_globals는 순수하고 취약점을 생성하지 않으며 개발자가 실수를 하도록 요구합니다. 그러나 애플리케이션을 개발하고 배포할 때 Register_globals를 꺼야 하는 두 가지 주요 이유가 있습니다.
첫째, 보안 취약점의 수가 증가합니다.
둘째, 데이터 소스를 숨기는데, 이는 항상 데이터를 추적해야 하는 개발자의 책임에 어긋납니다.
이 책의 모든 예제에서는 Register_globals가 꺼져 있고 $_GET와 같은 슈퍼 공용 배열을 사용한다고 가정합니다. 그리고 대신 $_POST. 이러한 배열을 사용하는 것은 Register_globals를 켠 상태에서 프로그래밍하는 것만큼 편리하며 프로그램의 보안이 향상되므로 약간의 불편함은 그만한 가치가 있습니다.
팁
register_globals가 활성화된 환경에 배포되는 애플리케이션을 개발해야 하는 경우 다음 사항이 매우 중요합니다. 모든 변수는 초기화되어야 하며 error_reporting은 다음으로 설정되어야 합니다. E_ALL(또는 E_ALL | E_STRICT) 초기화되지 않은 변수에 대해 경고합니다. Register_globals가 켜져 있으면 초기화되지 않은 변수를 사용하면 거의 항상 보안 취약점이 됩니다.
위 내용은 PHP 보안-전역 변수 및 등록 내용이며, 기타 관련 내용은 PHP 중국어 홈페이지(www.kr)를 참고하시기 바랍니다. .php.cn)!