PHP 개발에서 시스템 명령이 남용하거나 보안 위험을 가져 오는 것을 방지하기 위해 일부 구성에서는 일부 기능이 비활성화됩니다. 이러한 기능은 시스템 명령을 실행하는 데 사용될 수 있지만 명령 주입과 같은 잠재적 위험으로 인해 생산 환경에서 종종 제한되거나 금지됩니다.
위의 모든 기능은 운영 체제 명령을 호출 할 수 있습니다. 충분한 보안 검증이 수행되지 않으면 해커는 악의적 인 명령을 입력하여 서버 시스템을 손상시킬 수 있습니다. 예를 들어, 명령 주입 기술을 통해 공격자는 서버에 민감한 정보를 얻거나 임의의 스크립트를 실행하거나 원격 제어를 활성화 할 수 있습니다.
기본 구성에서 일부 기능이 비활성화되어 있지만 PHP는 여전히 명령을 실행하는 안전한 방법을 제공합니다. 개발자는 다음과 같은 방식으로 스스로를 보호 할 수 있습니다.
실행 시스템 명령의 기능을 사용하는 경우 다음 모범 사례를 따르는 것이 좋습니다.
PHP는 강력한 시스템 명령 실행 기능을 제공하지만 응용 프로그램 및 서버의 보안을 보장하기 위해 개발자는 고위험 기능을 직접 사용하지 않아야합니다. 권한 제어 및 입력 검증과 결합 된 Escapeshellarg () 및 Escapeshellcmd () 와 같은 보안 기능의 합리적인 사용은 잠재적 위험을 효과적으로 줄이고 프로젝트의 전반적인 보안을 향상시킬 수 있습니다.