Mengontrol error menggunakan PHP

Mengontrol Eror
Mengontrol Eror

Pendahuluan
Pada saat mengembangkan sebuah aplikasi web tentunya kita berhadapan dengan yang namanya error. Dan bukan hanya saat mengembangkan saja ada kemungkinan error tapi juga saat aplikasi sudah di rilis. Bisa kita bayangkan apa jadinya jika error terjadi saat sudah dirilis, hal itu bahaya sekali. Karena bisa menjadi bahan analisa dalam mencari “hole” ke aplikasi kita oleh pihak yang ingin masuk kesistem kita.

Apa yang akan kita bahas?
Untuk meminimalisir hal tersebut bisa kita mananajemen error-nya, minimal dari segi penampilan seperti yang akan saya bahas disini.

Langkah-langkah
Pada file PHP, pada baris sebelum terjadi proses atau masih pada baris pendefinisian variabel kita tambahkan kode berikut:

/**
 * konstanta tahap development
 * 0 = development
 * 1 = production
 * Silahkan sesuaikan dengan keadaan sekarang.
 * Jika masih dalam proses pengembangan silahkan nilainya set ke 0
 * Jika sudah dirilis set nilainya ke 1
 */
define("ENV_SYS", 0);
 
//set report ke 0, karena kita akan handle langsung
error_reporting(0);
 
function getErrHandler($errno, $errstr, $errfile, $errline){
 
	if(ENV_SYS == 0){
		switch ($errno) {
			case E_USER_ERROR:
				echo "<b>ERROR</b> [$errno] $errstr<br />\n";
				echo "  Fatal error pada baris $errline pada file $errfile";
				echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
				exit(1);
				break;
 
			case E_USER_WARNING:
				echo "<b>WARNING</b> [$errno] $errstr<br />\n";
				break;
 
			case E_USER_NOTICE:
				echo "<b>NOTICE</b> [$errno] $errstr<br />\n";
				break;
 
			default:
				echo "Error tidak diketahui: [$errno] $errstr<br />\n";
				break;
		}
	}else{
		echo 'Maaf aplikasi error';
	}
	return;
}
 
set_error_handler("getErrHandler");

Hanya itu. Silahkan anda test diakhir dengan melakukan suatu kesalahan secara sengaja.

Kesimpulan
Dengan menggunakan metode diatas tentunya jalan masuk ke sistem kita melalui jalur yang tidak kita inginkan bisa kita minimalisir sekarang. Tapi penulis beri catatan disini, memang masih banyak sekali cara untuk masuk kedalam sistem. Semua sistem pasti punya kelemahan, tapi sekarang yang penting adalah kita lakukan tindakan pencegahan semaksimal mungkin yang kita bisa.

Selamat berkarya, jika ada pertanyaan saran atau kritik mengenai hal yang berhubungan artikel diatas silahkan tinggalkan komentar.