Prepare Statement Menghindari SQL Injection ?

Teknik Keamanan di dalam pembuatan sebuah aplikasi atau website mesti diperhitungkan, sehingga kita dapat menutup minimal celah-celah yang ada pada website scripting kita agar tidak di ganggu oleh pihak luar. walaupun banyak teknik SQL injection yang sudah di handle di database atau PHP, namun beberapa teknik tersebut ternyata masih tetap dapat di serang oleh pihak yang tidak bertanggung jawab. tapi, paling tidak kita harus tetap meminimalisir agar injection ini tidak terjadi.

Adapun teknik yang dapat dilakukan mungkin bisa menggunakan prepared statements and parameterized queries, merupakan salah satu teknik untuk menghindari attacker/penyerang pada situs kita akibat dari celah yang terbuka.

Dengan menggunakan prepare statement dan parameter query  maka, query SQL yang dikirim akan di pisah dari parameter yang sebenarnya.

Berikut contoh cara tanpa menggunakan teknik ini :

   $sql = "select * from tabel where user = '".$user."'";

Berikut contoh cara menggunakan teknik ini :

 $sql = "select * from tabel where user = ? ";

sekarang bandingkan tingkat keamanan query kita, cara ini cukup tangguh untuk menjauhkan attacker dari website kita.. 🙂

lalu bagaimana cara memparsing inputan dari form ke SQL kita, lihat contoh script dibawah ini :

   $sql = "select * from tabel where user = ? ";
   $ins = mysql_query($SQL, array($_POST['user_input_form']));

Conclusion

Semoga teknik ini bermanfaat untuk menjaga agar query SQL anda tetap aman. contoh lain anda dapat melihat penggunaan prepare statement disini.

Original post By Aprianto

Leave a comment