>  기사  >  백엔드 개발  >  PHP 보안 - 단순성은 아름답다

PHP 보안 - 단순성은 아름답다

黄舟
黄舟원래의
2017-02-23 09:13:371247검색


단순한 것이 아름답다

복잡성은 오류를 낳고, 오류는 보안 취약점으로 이어질 수 있습니다. 이 간단한 사실은 보안 애플리케이션에 단순성이 왜 중요한지 보여줍니다. 불필요한 복잡성은 불필요한 위험만큼 나쁩니다.

예를 들어 다음 코드는 최근 보안 취약점 권고에서 발췌되었습니다.

CODE:

  <?php
 
  $search = (isset($_GET[&#39;search&#39;]) ?
$_GET[&#39;search&#39;] : &#39;&#39;);
 
?>

이 프로세스는 특히 경험이 부족한 개발자에게 $search 변수가 오염되었다는 사실을 혼란스럽게 할 수 있습니다. 위의 명령문은 다음 프로그램과 동일합니다:

CODE:

 
  <?php
 
  $search = &#39;&#39;;
 
  if (isset($_GET[&#39;search&#39;]))
  {
    $search = $_GET[&#39;search&#39;];
  }
 
  ?>

위의 두 가지 처리 흐름은 완전히 동일합니다. 이제 다음 문장에 주목해주세요:

  $search = $_GET[&#39;search&#39;];

이 문을 사용하면 $search 변수의 상태가 프로세스에 영향을 주지 않고 그대로 유지되며 오염 여부도 확인할 수 있습니다.

* 주석: 오염된 변수는 프로그램 실행 중에 변수 값이 할당문에 의해 직접 지정되지 않고 콘솔 항목, 데이터베이스 등과 같은 다른 소스에서 나온다는 것을 의미합니다.

위 내용은 PHP Security - Simplicity is Beautiful의 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www. php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.