Pencarian

Selasa, 17 Februari 2009

Mematikan Pesan Error PHP

Pesan error di browser memang sangat membantu para tukang coding (Programmer) dalam membuat suatu Aplikasi web, karena biasanya pesan error inilah yang menunjukkan baris (line) yang terdapat kesalahan coding dalam script php yang tak jarang terdiri dari ratusan baris Coding program.
Namun karena pesan error ini juga, tak jarang suatu website dapet di hajar abis-abisan oleh jari-jari yang tak bertanggung jawab.

Mis : Pada alamat http://www.test.com/index.php?option=edit&id=1425
Biasanya untuk melihat apakah website tersebut bisa di inject dengan teknik Sql Injection atau tidak ? Si Penjahat cukup memasukkan tanda ' (kutip satu) pada variabel luar yang sering kita gunakan, jadi seperti ini, http://www.test.com/index.php?option=edit&id='
Nah, kalo ternyata mengeluarkan pesan error seperti ini:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in index.php on line dst...dst..


dengan kemunculan error tersebut, berarti website nya ada kemungkinan bisa di hajar dengan teknik Sql Injection.
Nah, untuk mengantisipasi kemuculan pesan error tersebut, maka si PHP sudah memberikan beberapa trik untuk mematikan pesan error ini, antara lain dengan cara memberikan @ pada baris coding program.
Fungsi @ sendri menurut saya kurang efisien karena di setiap variabel atau query yang dikhawatirkan menimbulkan error, kita harus menyisipkan simbol @ ini, kan lumayan repot tuh jadinya.

dan ternyata ada sebuah fungsi di php yang nama nya error_reporting();.
Fungsi ini berguna untuk mematikan semua pesan error pada script php, kita cukup menyisipkan perintah error_reporting(0); diatas script kita tersebut.

Misalnya pada file index.php
<?php
//$a = array(1,2,3);
echo "total".array_sum($a);
?>

ketika file ini dijalankan maka akan menimbulkan pesan error, karena variabel a ($a) yang akan di jumlahkan oleh fungsi array_sum tidak ada (jadi baris komentar).
coba kamu tambahkan perintah error_reporting(0); di line paling atas seperti ini:

<?php
error_reporting(0);
//$a = array(1,2,3);
echo "total ".array_sum($a);
?>

maka, pesan error nya akan hilang dan browser akan tetap menampilkan total.
Untuk sekedar saran, pada tahap proses pembuatan aplikasi sebaiknya fungsi error_reporting ini dijadikan komentar, karena nanti bingung kita, nggak ada error tapi scriptnya nggak mau jalan heee...hee.. ntar kalo udah kelar semua dan mau proses upload baru di tambahkan fungsi error_reporting(0); pada setiap script.
sekian dulu neh, da capek....

1 komentar: