PHP bukanlah ilmu dan teknologi baru bagi kalangan developer web.
Jutaan website di dunia maya telah disokong oleh bahasa pemrograman ini.
Saking banyaknya website yang menggunakan PHP untuk engine dan backend
sistem, makin banyak pula penyelinap (hacker) yang mencoba membobol
sistem PHP terutama yang menggunakan database MySQL.
Dalam kasus, cukup banyak website yang berbasis PHP MySQL dibobol
oleh hacker. Namun, hal ini tidak bisa dijadikan patokan bahwa PHP
adalah sistem yang rentan diserang hacker. PHP tetaplah memiliki
security yang hebat dan powerfull jika developer bisa memaksimalkannya.
Bagaimana caranya ?
Penulis tidak akan membahas mengenai spesifikasi server PHP yang
menyokong untuk keamanan. Tapi yang paling penting dari server ini
adalah keamanan yang digunakan oleh penyedia hosting kita (apabila
menggunakan hosting). Maka dari itu, coba carilah hosting yang
profesional ataupun capable dalam menghadapi masalah security untuk
klien mereka.
Sedikit saran, akan lebih baik apabila kita berada di wilayah Indonesia maka gunakanlah server yang berada di Indonesia. Hindari menggunakan server luar negeri (US).
Serangan yang paling sering disukai oleh hacker dan juga peretas
database adalah SQL Injection. Biasanya terjadi pada web berbasis PHP
dan MySQL. Metode SQL Injection yang dipakai oleh hacker biasanya
memanfaatkan form-form di dalam website yang tidak dilengkapi dengan
script pengamanan khusus.
Langkah-langkah yang setidaknya bisa kita pakai untuk menghindari pembobolan database lewat form adalah menggunakan fungsi mysql_real_escape_string() untuk menghindari string-string tertentu yang dipakai hacker saat membobol query database sistem. Berikut adalah contoh penggunaan fungsi mysql_real_escape_string() :
htaccess adalah sebuah file konfigurasi yang ditaruh pada direktori
root sistem aplikasi web. Htaccess dapat dipakai untuk konfigurasi
khusus aplikasi web kita, misalkan untuk redirect ke halaman tertentu,
membatasi akses halaman, dan lain sebagainya. Sebagai fitur pengamanan,
.htaccess dapat kita manfaatkan untuk merestrict (membatasi) pengaksesan
folder-folder di dalam sistem web kita. Contohnya :
Kode .htaccess diatas dipakai untuk membatasi akses ke dalam suatu
folder di dalam web. Untuk memanfaatkannya, taruhlah file bernama
.htaccess yang berisi kode diatas ki dalam folder web yang ingin kita
batasi.
Selain menggunakan metode diatas, kita bisa juga menggunakan .htaccess untuk melakukan manipulasi file PHP yang kita pakai. Misalkan kita memiliki website berita, dan untuk menampilkan berita tersebut digunakan file “http://mywebsite.com/news.php?id=(id berita)“. Untuk memanipulasi menjadi “http://mywebsite.com/news/berita-id” kita bisa menggunakan perintah ini melalui .htaccess pada root folder utama website :
Untuk masalah pengamanan login, developer biasa menggunakan sistem login yang telah diberi fungsi MD5
pada script action login. Meskipun menggunakan MD5, terkadang website
masih bisa dibobol karena hacker juga bisa menggunakan sistem brute
force canggih. Berikut adalah contoh penggunaan MD5 :
Untuk memaksimalkan MD5, sangat disarankan untuk menggunakan
kombinasi password yang berisi karakter string sulit (alay). Misalkan 1n1p4ssw0rdgwe (inipasswordgue).
PHP Security (Image by Webmarketingpros)
Server Hosting
Penulis tidak akan membahas mengenai spesifikasi server PHP yang
menyokong untuk keamanan. Tapi yang paling penting dari server ini
adalah keamanan yang digunakan oleh penyedia hosting kita (apabila
menggunakan hosting). Maka dari itu, coba carilah hosting yang
profesional ataupun capable dalam menghadapi masalah security untuk
klien mereka.Sedikit saran, akan lebih baik apabila kita berada di wilayah Indonesia maka gunakanlah server yang berada di Indonesia. Hindari menggunakan server luar negeri (US).
SQL Injection
Serangan yang paling sering disukai oleh hacker dan juga peretas
database adalah SQL Injection. Biasanya terjadi pada web berbasis PHP
dan MySQL. Metode SQL Injection yang dipakai oleh hacker biasanya
memanfaatkan form-form di dalam website yang tidak dilengkapi dengan
script pengamanan khusus.Langkah-langkah yang setidaknya bisa kita pakai untuk menghindari pembobolan database lewat form adalah menggunakan fungsi mysql_real_escape_string() untuk menghindari string-string tertentu yang dipakai hacker saat membobol query database sistem. Berikut adalah contoh penggunaan fungsi mysql_real_escape_string() :
Pengamanan .htacsess
htaccess adalah sebuah file konfigurasi yang ditaruh pada direktori
root sistem aplikasi web. Htaccess dapat dipakai untuk konfigurasi
khusus aplikasi web kita, misalkan untuk redirect ke halaman tertentu,
membatasi akses halaman, dan lain sebagainya. Sebagai fitur pengamanan,
.htaccess dapat kita manfaatkan untuk merestrict (membatasi) pengaksesan
folder-folder di dalam sistem web kita. Contohnya :Selain menggunakan metode diatas, kita bisa juga menggunakan .htaccess untuk melakukan manipulasi file PHP yang kita pakai. Misalkan kita memiliki website berita, dan untuk menampilkan berita tersebut digunakan file “http://mywebsite.com/news.php?id=(id berita)“. Untuk memanipulasi menjadi “http://mywebsite.com/news/berita-id” kita bisa menggunakan perintah ini melalui .htaccess pada root folder utama website :
Penggunaan Fungsi MD5
Untuk masalah pengamanan login, developer biasa menggunakan sistem login yang telah diberi fungsi MD5
pada script action login. Meskipun menggunakan MD5, terkadang website
masih bisa dibobol karena hacker juga bisa menggunakan sistem brute
force canggih. Berikut adalah contoh penggunaan MD5 :Selain keempat tips diatas, masih banyak tips lain untuk mengamankan website berbasis PHP. Untuk CMS berbasis PHP seperti WordPress, Drupal maupun Joomla tentu memiliki tips dan jalan tersendiri untuk pengamanan sistem. Terima kasih, semoga bermanfaat !
Tidak ada komentar:
Posting Komentar