선 밖에 선 자유인

[PHP 보안] 오류 보고 본문

IT/Security

[PHP 보안] 오류 보고

Hotman 2012. 1. 25. 11:12
- 호스트 공유 서비스를 받거나 php.ini, httpd.conf, .htaccess 파일을 변경할 수 없는 경우 다음과 같은 코드 사용


ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 'Off');
ini_set('log_errors', 'On');
ini_set('error_blog', '/usr/local/apache/logs/error_log');


- set_error_handler() 함수를 사요하여 직접 오류 처리

set_error_handler('my_error_handler');


** php 5 버전에서는 오류 처리 적용 범위 제한을 위해 set_error_handler()에 두번째 인자를 전달할 수 있다.

set_error_handler('my_warnning_handler', E_WARNING);


- 오류 처리 담당 함수인 my_error_handler() 함수 구현
	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, '/usr/local/apache/logs/error_log');
	}

Comments