Dibalik kemudahan dan kenyamanannya, sebenarnya banyak sekali kelemahan yang dimiliki oleh bahasa pemrograman PHP. Celakanya, banyak web programmer yang tidak menyadari hal tersebut. Tidak heran jika aplikasi web berbasis PHP paling sering kena serangan cracker.
Jika Anda ingin tahu bug apa saja yang dimiliki oleh PHP, silakan cek PHP-Security.Org. Secara berkala (setiap bulan sekali kalau nggak salah) situs tersebut selalu mengumumkan bug terbaru yang ditemukan pada PHP.
Meski kita tidak bisa membuat aplikasi web yang 100% aman, akan tetapi ada beberapa tips sederhana yang bisa kita terapkan untuk meminimalisir kemungkinan adanya celah keamanan pada aplikasi yang kita kembangkan.
Input Validation
Pada umumnya aplikasi berbasis web selalu menggunakan input data baik melalui GET maupun POST. Yang patut kita cermati, ternyata melalui input data inilah banyak kasus pembobolan situs terjadi dengan mudahnya. Kenapa hal tersebut bisa terjadi?
Kuncinya terletak pada validasi input. Kebanyakan web programmer — terutama yang masih pemula — melupakan aspek yang satu ini. Banyak attacker yang memanfaatkan kelalaian ini dengan cara memasukkan inputan yang tidak wajar.
Kalau mau aman, sebaiknya setiap input data harus dipastikan sesuai dengan yang kita harapkan. Misalnya saja kita menghendaki input berupa alamat email, maka harus dipastikan yang dimasukkan user adalah benar-benar email, bukan masukan yang lainnya.
Tidak ketinggalan juga batasi panjang karakter yang diijinkan. Tentu tidak wajar apabila alamat email panjangnya mencapai 1000 karakter, iya kan?
Data Sanitization
Sanitasi data erat kaitannya dengan akses database. Setiap query ke database yang mempunyai parameter input data harus dipastikan aman. Sanitasi data ini wajib dilakukan untuk menghindari terjadinya SQL Injection.
Tipe data string pada database sering sekali menjadi sasaran SQL Injection ini. Oleh karena itu input data harus selalu difilter sebelum dilakukan query ke database.
Anda tentu tidak ingin data-data rahasia yang tersimpan di database diobrak-abrik oleh attacker bukan? Nah, di sinilah pentingnya sanitasi data.
Access Control
Kalau memungkinkan, kita bisa membuat pembatasan terhadap user yang mengakses aplikasi web dengan alamat IP. Hal ini bisa kita lakukan apabila kita mempunyai akses terhadap web server. Namun demikian jika aplikasi web tersebut diletakkan di web hosting cara ini sulit diterapkan.
Error Reporting
Satu hal yang sering dilupakan oleh web programmer adalah masalah error reporting. Apa yang terjadi seandainya terjadi error pada aplikasi? Inilah yang sering luput dari perhatian.
Kenapa bisa terjadi error? Penyebabnya bisa bermacam-macam. Bisa karena database-nya sedang down ataupun web servernya mati.
Pada umumnya apabila terjadi error, maka aplikasi akan menampilkan pesan error yang kadang-kadang tidak kita kehendaki. Misalnya karena terjadi error, orang lain jadi tahu database dan password yang dipakai oleh aplikasi.
ref : magazine.sorsawo.com









07:58
Nahwan Erlingga
Posted in 
No Response to "PHP Security Blunder"
Poskan Komentar
komentar'nya yang sopan ya. ok ;)
trims :)