Cara Meningkatkan Keamanan Website atau blog Kita Dengan PHP
Terkadang kita sering lupa atau bahkan tidak memikirkan keamanan
website yang kita buat. Keamanan PHP web Saat kita mulai membuat
aplikasi berbasis web dengan menggunakan PHP tentu kita akan berfokus
pada cara pembuatannya, bagaimana mengimplementasikan logika sehingga
menghasilkan suatu karya sistem yang berjalan sesuai dengan keinginan
dan kebutuhan kita.
Tapi ada kalanya kita perlu membalik pola
pikir tersebut dengan memandang sebagai seorang user (pengguna aplikasi)
yang mungkin memiliki waktu lebih banyak dalam penggunaan aplikasi
tersebut. Dalam hal ini banyak hal yang mungkin tidak kita perhatikan
dari aplikasi buatan kita tersebut oleh karena itu ada pepatah “Tidak
ada sistem yang sempurna.” tetapi penulis akan memberikan sedikit
informasi keamanan dasar sehingga kita bisa sedikit melangkah menuju
kesempurnaan tersebut.
Beberapa hal yang perlu diperhatikan dalam langkah percobaan para cracker untuk memboikot akses website kita antara lain :
1. Melalui URL (method GET)
2. Melalui media input yang terdapat dalam form (method POST)
Seperti yang kita bahas sebelumnya bahwa terdapat 2 cara umum
pengiriman variable dalam PHP yaitu GET dan POST sehingga perlu
penanganan khusus dalam penerimaan serta pengiriman variable tersebut.
Untuk method POST :
Method POST ini sering dugunakan untuk menangkap variable dari media input yang terdapat dalam FORM.
Nah, dengan bahan pertimbangan yang diatas maka ada beberapa tips agar
web kita sedikit aman dari serangan cracker, Apa ?? sedikit aman ??
tentu anda bertanya demikian, kenapa saya mengatakan demikian, karena
seperti yang saya katakan tadi bahwa tidak ada sistem yang sempurna.
Jadi yang saya berikan dibawah ini akan sangat membantu web anda untuk
mendekati sistem yang sempurna.
1. Batasi jumlah karakter (maxlength)
Pembatasan jumlah karakter dalam media input sangat penting sehingga
tidak dimungkinkan penulisan script seperti javascript pada inputbox
tersebut.
Contoh implementasi : <input name=”_cari” maxlength=”10? />
Titik rawan : Input Login (username dan password), Input search
2. Lapisi dengan penahan kutip atau addslashes()
Fungsi PHP ini akan membantu kita menambahkan tanda kutip (‘) pada
setiap karakter garing (/) sehingga dapat mencegah timbulnya efek SQL
injection. Saya rasa teknik hacking ini cukup populer diantara anda.
Penambahan kutip akan membuat garing menjadi bertipe string sehingga
tidak dianggap sebagai salah satu perintah query pada MySQL / SQL.
Contoh implementasi : addslashes($_POST['_username'] )
Titik rawan : Form Login
3. Lapisi dengan penahan tag atau htmlspecialchars()
Untuk mencegah terjadinya teknik hacking xss atau javascript injection
maka ada baiknya kita menambahkan fungsi tersebut. Hal ini akan membuat
tag html maupun javascript memiliki tipe data string sehingga tidak akan
dieksekusi oleh browser.
Apabila script dimungkinkan dalam media
input sehingga masuk ke dalam database dan saat browser membuka halaman
yang terkontaminasi tersebut maka browser akan melakukan eksekusi
terhadap perintah tersebut yang biasanya dalam bentuk javascript.
Contoh implementasi : htmlspecialchars($_POST['pesan '])
Titik rawan : Form Login, Form Kontak Admin
4. Perhatikan nama media input Web anda
Sudah saatnya kita berusaha sedikit lebih unik dalam menentukan nama
pada media input kita sehingga mempersulit beberapa tools penjahat yang
menggunakan library (kamus kata) dalam penentuan nama variable
incarannya. Misalnya pada media input login tambahkan garis bawah. Tentu
anda memiliki ide sendiri dalam mengimplementasikan hal ini.
Contoh implementasi : <input name=”_username” />
Titik rawan : Input Login (username dan password)
Untuk method GET :
Method get merupakan penangkapan variable yang berasal dari URL.
1. Gunakan .htaccess
Sebenarnya ini adalah sebuah metode yang menjadikan website kita seakan
memiliki struktur direktori yang luas, padahal itu adalah variable.
Sehingga memecah konsentrasi dari pengunjung yang berniat isenk. Bila
halaman tidak ditemukan maka kita dapat meredirectnya ke halaman 404
kesayangan kita.
Implementasi :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]
</IfModule>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com/$1 [L,R=301]
2. Hindari $_REQUEST()
Metode ini digunakan untuk menangkap variable dalam bentuk POST dan
GET. Ada kalanya kita membutuhkan metode penerimaan variable dengan
menggunakan fungsi ini, tetapi batasilah penggunaannya karena tanpa
disadari suatu saat anda akan mendapatkan masalah karena hal ini. Dan
bila kita telah terlanjur menggunakannya pada seluruh aplikasi kita maka
kita akan sulit untuk merubah (Bisa, dengan memilah mana yang tidak
perlu dan benar-benar menggunakan.).
Tambahan :
1. Session dan Cookies timeout
Gunakan timeout pada session atau cookies terutama untuk pengenalan
login. Session merupakan penanda dari sisi server dan akan hilang
apabila browser ditutup, sedangkan cookies adalah pengenalan dari sisi
browser dan bila tidak diset timeout maka status akan terus login (pada
pengenalan login.), tentu saja anda tau kemungkinan-kemungkinan yang
akan terjadi selanjutnya.
Selamat menerapkannya pada website atau blog kita masing-masing.
Artikel Terkait
Terima Kasih Atas Kunjungan Anda
Judul: Cara Meningkatkan Keamanan Website atau blog Kita Dengan PHP
Ditulis Oleh Unknown
Jika mengutip harap berikan link yang menuju ke artikel Cara Meningkatkan Keamanan Website atau blog Kita Dengan PHP ini. Sesama blogger mari saling menghargai. Terima kasih atas perhatiannya
Judul: Cara Meningkatkan Keamanan Website atau blog Kita Dengan PHP
Ditulis Oleh Unknown
Jika mengutip harap berikan link yang menuju ke artikel Cara Meningkatkan Keamanan Website atau blog Kita Dengan PHP ini. Sesama blogger mari saling menghargai. Terima kasih atas perhatiannya
0 komentar:
Posting Komentar