복잡성은 오류를 낳고, 오류는 보안 취약점으로 이어질 수 있습니다. 이 간단한 사실은 보안 애플리케이션에 단순성이 왜 중요한지 보여줍니다. 불필요한 복잡성은 불필요한 위험만큼 나쁩니다.
예를 들어 다음 코드는 최근 보안 취약점 권고에서 발췌되었습니다.
CODE:
<?php $search = (isset($_GET['search']) ? $_GET['search'] : ''); ?>
이 프로세스는 특히 경험이 부족한 개발자에게 $search 변수가 오염되었다는 사실을 혼란스럽게 할 수 있습니다. 위의 명령문은 다음 프로그램과 동일합니다:
CODE:
<?php $search = ''; if (isset($_GET['search'])) { $search = $_GET['search']; } ?>
위의 두 가지 처리 흐름은 완전히 동일합니다. 이제 다음 문장에 주목해주세요:
$search = $_GET['search'];
이 문을 사용하면 $search 변수의 상태가 프로세스에 영향을 주지 않고 그대로 유지되며 오염 여부도 확인할 수 있습니다.
* 주석: 오염된 변수는 프로그램 실행 중에 변수 값이 할당문에 의해 직접 지정되지 않고 콘솔 항목, 데이터베이스 등과 같은 다른 소스에서 나온다는 것을 의미합니다.
위 내용은 PHP Security - Simplicity is Beautiful의 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www. php.cn)!