도입
PHP는 강력한 언어이며 웹 서버에 모듈로 포함되거나 별도의 CGI 바이너리로 실행되는 인터프리터는 서버에서 파일에 액세스하고 명령을 실행하며 네트워크 연결을 열 수 있습니다. 이러한 속성은 기본적으로 웹 서버에서 실행되는 모든 것을 안전하지 않게 만듭니다. PHP는 Perl이나 C보다 CGI 프로그램을 작성하기 위한 더 안전한 언어가 되도록 특별히 설계되었으며 컴파일 시간 및 런타임 구성 옵션을 올바르게 선택하고 적절한 코딩 방법을 사용하여 필요한 자유와 보안의 조합을 정확하게 제공할 수 있습니다.
PHP를 활용하는 방법에는 여러 가지가 있으므로 동작을 제어하는 많은 구성 옵션이 있습니다. 다양한 옵션을 선택하면 PHP를 다양한 용도로 사용할 수 있지만, 이러한 옵션과 서버 구성의 조합으로 인해 설정이 안전하지 않을 수도 있습니다.
PHP의 구성 유연성은 코드 유연성과 동등하게 경쟁합니다. PHP는 셸 사용자의 모든 능력으로 완전한 서버 응용 프로그램을 구축하는 데 사용할 수 있으며, 엄격하게 제어되는 환경에서 위험이 거의 없는 간단한 서버 측 포함에 사용할 수 있습니다. 해당 환경을 구축하는 방법과 보안 수준은 대부분 PHP 개발자에게 달려 있습니다.
이 장에서는 몇 가지 일반적인 보안 조언으로 시작하여 다양한 구성 옵션 조합과 안전하게 사용할 수 있는 상황을 설명하고 다양한 보안 수준을 코딩할 때 고려해야 할 여러 가지 사항을 설명합니다.