PHP 보안 - 오류 보고

黄舟
풀어 주다: 2023-03-05 22:36:02
원래의
1112명이 탐색했습니다.


버그 신고

무결한 개발자는 없습니다. PHP 오류 보고 기능은 이러한 오류를 식별하고 찾는 데 도움이 됩니다. PHP에서 제공하는 이러한 자세한 설명은 악의적인 공격자에게도 표시될 수 있으므로 좋지 않습니다. 오류 메시지가 대중에게 보이지 않는 것이 중요합니다. 물론, 오류 정보를 얻으려면 log_errors 옵션을 켜고 error_log 옵션에서 오류 로그 파일의 저장 경로를 설정하면 됩니다.

오류 보고 수준 설정으로 인해 일부 오류가 감지되지 않을 수 있으므로 error_reporting을 최소한 E_ALL(E_ALL | E_STRICT가 가장 높은 설정이며, 권장되지 않는 팁 등 이전 버전과의 호환성 제안을 제공합니다.

모든 오류 보고 수준은 어느 수준에서나 수정할 수 있으므로 공유 호스팅을 사용하는 경우 php.ini, httpd.conf 또는 .htaccess와 같은 구성 파일을 변경할 때 프로그램에서 오류 보고 수준 구성 명령문을 실행할 수 있습니다.

CODE:

 <?php
 
  ini_set(&#39;error_reporting&#39;, E_ALL | E_STRICT);
  ini_set(&#39;display_errors&#39;, &#39;Off&#39;);
  ini_set(&#39;log_errors&#39;, &#39;On&#39;);
  ini_set(&#39;error_log&#39;,
&#39;/usr/local/apache/logs/error_log&#39;);
 
  ?>
로그인 후 복사


http://www.php.cn/ php.ini의 옵션 설정에 대해 자세히 설명합니다.

PHP에서는 set_error_handler( )를 전달할 수도 있습니다. 함수는 고유한 오류 처리 함수를 지정합니다.

CODE:

 <?php
 
  set_error_handler(&#39;my_error_handler&#39;);
 
  ?>
로그인 후 복사

위 프로그램은 자체 오류 처리 함수 my_error_handler()를 지정합니다. 실제 사용 예는 다음과 같습니다.

CODE:

 <?php
 
  function my_error_handler($number, $string, $file,
$line, $context)
  {
    $error = "=  ==  ==  ==  ==\nPHP ERROR\n=  ==
 ==  ==  ==\n";
    $error .= "Number: [$number]\n";
    $error .= "String: [$string]\n";
    $error .= "File:   [$file]\n";
    $error .= "Line:   [$line]\n";
    $error .= "Context:\n" . print_r($context, TRUE)
. "\n\n";
 
    error_log($error, 3,
&#39;/usr/local/apache/logs/error_log&#39;);
  }
 
  ?>
로그인 후 복사

PHP 5에서는 set_error_handler( )는 정의된 오류 처리 기능이 실행되는 오류 조건을 제한하기 위해 두 번째 매개변수를 전달합니다. 예를 들어, 이제 경고 수준 오류를 처리하는 함수를 만듭니다.

CODE:

 <?php
  set_error_handler(&#39;my_warning_handler&#39;,
E_WARNING);
  ?>
로그인 후 복사

위는 PHP 보안 오류 보고서의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿