Membuat halaman login pada web PHP dengan aman, itu adalah sektor pokok yang sangat perlu dalam keamanan website yang sudah kita buat sendiri. sering rasanya gue nemu website hasil ngecoding sendiri lalu di upload atau di hostingkan dan sering keserang sama hacker/cracker. untuk itu ini hasil gue searching di google dan nemu sebuat potingan blog yang mungkin bisa ngebantu temen - temen yang mau bikin halaman Login di Web menggunakan PHP dengan aman.
Tulisan ini diperuntukan bagi para newbie yang ingin membuat system login pada webnya dengan php. Saya akan melampirkan beberapa hal dasar yang harus kita perhatikan ketika membuat system login beserta contoh script sederhana. Apa yg akan saya paparkan berikut ini sebenarnya sangat umum dan dapat diperoleh dari berbagai sumber yang berhub dgn php. Semoga dapat memberi sedikit info tambahan untuk newbie-newbie baru.Ok langsung kita mulai.Berikut ini hal-hal yg harus kita pertimbangkan ketika membuat login:
Sekarang contoh dari script untuk hal-hal tersebut.Saya hanya melampirkan satu logika dari banyak kemungkinan lain dalam membuatnya.Logika ini akan sangat beragam jadi bukanlah satu-satunya cara ataupun cara yang paling baik,silahkan buat sendiri untuk yg lebih baik atau lihat referensi lain.
//fungsi untuk meng-enkripkan token memakai fungsi md5 function enc_token($token) { $hash = md5($token); return $hash; } ?>//akhir script index.php
cekmasuk.php yang akan saya lampirkan diakhir.
//fungsi filter
function filter($word) { $word = stripslashes(trim($word)); $word = nl2br($word); $word = htmlentities($word); return $word ; }Ini hanya contoh simple dengan memanfaatkan fungsi yg ada di php.Kita dapat tambahkan dengan membuat fungsi sendiri, misalkan filter kata-kata kotor(dijasakom sudah ada yg melampirkan),atau memanfaatkan regex untuk validasi yg lain.Silahkan berkreasi.
Script secara lengkap akan ada pada script “cekmasuk.php”.
$refresh_time=10; //dalam menit $chour = date(”H”); //jam $cmin = date(”i”); //menit $csec = date(”s”); //detik $cmon = date(”m”); //bulan $cday = date(”d”); //tanggal $cyear = date(”Y”); //tahun//waktu saat ini ketika mengakses $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);//penambahan waktu mengakses akan digunakan untuk expired time $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);
Tulisan ini diperuntukan bagi para newbie yang ingin membuat system login pada webnya dengan php. Saya akan melampirkan beberapa hal dasar yang harus kita perhatikan ketika membuat system login beserta contoh script sederhana. Apa yg akan saya paparkan berikut ini sebenarnya sangat umum dan dapat diperoleh dari berbagai sumber yang berhub dgn php. Semoga dapat memberi sedikit info tambahan untuk newbie-newbie baru.Ok langsung kita mulai.Berikut ini hal-hal yg harus kita pertimbangkan ketika membuat login:
- Pastikan form login adalah form dari server kita.
- Amankan input text untuk user dan password,metoda dan format data.
- Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable).
- Expired time dari login yang dilakukan.
- Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.
Sekarang contoh dari script untuk hal-hal tersebut.Saya hanya melampirkan satu logika dari banyak kemungkinan lain dalam membuatnya.Logika ini akan sangat beragam jadi bukanlah satu-satunya cara ataupun cara yang paling baik,silahkan buat sendiri untuk yg lebih baik atau lihat referensi lain.
- Pastikan form login berasal dari server kita:
Username | : | |
Password | : | |
- saat membuat form login(ex: index.php)sebagai default kita mulai dengan membuat session baru.
- session_name disini sebagai refrensi untuk session id di cookies dan URL.
- lalu daftarkan suatu variabel session baru SES_TOKEN dgn memakai fungsi session_register.
- buat token berupa kata acak yg akan kita gunakan utk memastikan form-adalah dari kita.
- Lalu Encript token agar lebih rumit.(Pada dasarnya token ini mirip dgn session id)
- Tambahkan variabel enkript token tsb dalam form melalui hidden.
- Amankan input text untuk user dan password,metoda dan format data.
cekmasuk.php yang akan saya lampirkan diakhir.
//fungsi filter
function filter($word) { $word = stripslashes(trim($word)); $word = nl2br($word); $word = htmlentities($word); return $word ; }Ini hanya contoh simple dengan memanfaatkan fungsi yg ada di php.Kita dapat tambahkan dengan membuat fungsi sendiri, misalkan filter kata-kata kotor(dijasakom sudah ada yg melampirkan),atau memanfaatkan regex untuk validasi yg lain.Silahkan berkreasi.
- Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable/off).
- Expired Time dari login yang dilakukan.
Script secara lengkap akan ada pada script “cekmasuk.php”.
$refresh_time=10; //dalam menit $chour = date(”H”); //jam $cmin = date(”i”); //menit $csec = date(”s”); //detik $cmon = date(”m”); //bulan $cday = date(”d”); //tanggal $cyear = date(”Y”); //tahun//waktu saat ini ketika mengakses $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);//penambahan waktu mengakses akan digunakan untuk expired time $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);
- Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.
- Fungsi opendb(),querydb(),closedb() adalah fungsi yg sy buat utk akses database,silahkan anda buat sendiri.
- Dengan menggunakan script tersebut bukan berarti kita telah membuat system login yg aman.Ingat ini hanya”Beberapa Hal Dasar”.
- Penambahan kata rahasia pada pembentukan token bisa menambah tingkat kesukaran untuk di tebak.
- Akhir kata seluruh hasil script tersebut bukanlah murni pemikiran saya tetapi merupakan penggabungan dari berbagai script yg sudah ada baik dari contoh help php,dan beberapa tulisan lain diantaranya adalah milik Chris Shiflett dan Jeff Johns.
- Untuk lebih jelas bagaimana memakai fungsi yg ada silahkan “RTFM”.
- Agar lebih mendalami masalah keamanan php silahkan kunjungi Chris Shiflett artikel di
Link Bantenonline
- Tulisan Jeff Johns dapat anda lihat di SINI!
wah, bnyak hal yg hrus diperhatikan ya buat keamanan website..
BalasHapustentunya... soalnya hacker sekarang udah pada mulai pinter lho... :)
Hapus