Cara membuat login php yang aman. Login adalah tahap awal sebelum masuk ke sebuah intruksi pada web atau sistem. Penggunaan form login untuk menjaga agar lebih aman keberadaan data sangat penting dilakukan. Hal ini dilakukan agar data-data tidak mudah hilang dan disalah gunakan orang yang tidak bertanggung jawab. Membuat auntentikasi sangat harus pada login sangat perlu dilakukan. Pengambanan banyak sekali cara yang bisa dilakukan dengan php. Salah satu cara misalnya yaitu dengan menggunakan fungsi sebuah algoritma pengamanan. Nah untuk kali ini share yang saya lakukan adalah mebuat form login yang aman dengan php. Gimana caranya simak lebih lanjut.
Cara kerja dari pengamanan form login ini dalah menjaga agar form yang diinputkan tidak bisa di injeksi dengan kode-kode tertentu. Biasanya jika tidak diamankan, form untuk login sangat mudah di tembus dan dibobol dengan cara measukkan kode-kode karakter tentu. Nah kegiatan tersebut yang disebut dengan sql injeksi. Nah jika hal tersebut bisa terjadi, keberadaan data Anda pada server rentan sekali hilang atau disalahgunakan.
Cara Membuat Login PHP yang Aman
Caranya adalah dengan menerapkan fungsi yang ada pada php, yaitu fungsi mysql_real_escape_string, stripslashes, strip_tags. Penjelasan dari ketiga fungsi tersebut sebagai berkut:
1. Kegunaan dari fungsi mysql_real_escape pada php adalah untuk mengabaikan karakter tertentu pada string yang mempunya fungsi untuk mengeksekusi sintak Sql. Fungsi ini terdapat pada PHP versi +5. Salah satu contoh script yang diabaikan misalnya \x00, \n, \r, \, ‘, ” and \x1a.
2. Kegunaan dari fungsi stripslashes pada php adalah untuk menghidari mengabaikan tanda petik. Fungsi ini cara kerjanya adalah mengabaikan setiap inputan yang ditambi dengan karakter tanda petik.
3. Kegunaan dari fungsi strip_tags pada php adalah untuk mengabaikan script php dan html pada sebuah string.
Nah untuk itu inilah script cara agar form login Anda lebih aman terjaga dari pembobolan. Buat form login di php itu mudah, semudah membalikkan telapak tangan kata orang. Kalau buat saya tetep mudah membalikkan telapak tangan ya. hehe. :-D.
Langkah-langkah mebuat form login php yang aman
Berikut langkah-langkah tutorial membuat login dengan php di localhost,
1. Buatlah sebuah database dengan nama terserah Anda. Misalnya ubat saja nama tabelnya dengan pengguna, kemudian buatlah 2 field yang berisi username dan password.
JIka tidak tahu silahkan baca: cara membuat database
2. Oke, jika langkah pertama sudah selesai buatlah form login. Nah pada studi kasus ini beri nama form login ini dengan index.php. Scriptnya seperti dibawah ini,
<?php ?> <html> <head> <title> Administrator sistemphp.com</title> </head> <body> <center> <h2> Welcome to sistemphp.com </h2> Login terlebih dahulu untuk bisa memanage sistem ini.. <div id="header"> <div id="content"> <h2>Login</h2> <form method="POST" action="cek_login.php"> <table> <tr><td>Username</td><td> : <input type="text" name="username"></td></tr> <tr><td>Password</td><td> : <input type="password" name="password"></td></tr> <tr><td colspan="2"><input type="submit" value="Login"></td></tr> </table> </form> </div> <div id="footer"> Copyright © sistemphp.com </div> </div> </center> </body> </html>
2. Selanjutnya untuk mengamankan login jika username dan password di inputkan, gunakan script pengamanan berikut ini. Beri scdript di bawah ini dengan nama cek_login.php.
<?php $server = "localhost" ; $username = "root" ; $password = "" ; $database = "simp"; //Koneksi dan memilih database di server mysql_connect($server,$username,$password) or die ("Koneksi database gagal"); mysql_select_db($database) or die ("Database tidak tersedia"); error_reporting(0); include "koneksi/koneksi.php"; function antiinjection($data){ $filter_sql = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES)))); return $filter_sql; } $username = antiinjection($_POST[username]); $pass = antiinjection(md5($_POST[password])); $login = mysql_query("SELECT * FROM user WHERE username='$username' AND password='$pass'"); $ketemu= mysql_num_rows($login); $r = mysql_fetch_array($login); // Apabila username dan password ditemukan if ($ketemu > 0){ session_start(); session_register("username"); session_register("password"); $_SESSION[Username] = $r[username]; $_SESSION[Password] = $r[password]; header('location: master.php?module=home'); } else{ echo "$pass"; echo "<link href=../css/login.css rel=stylesheet type=text/css>"; echo "<center>LOGIN GAGAL! <br> Username atau Password Anda tidak benar.<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } ?>
Cara kerja dari script diatas adalah ketika user memasukkan username dan password. Kemudian data di cek validasi menggunakan data yang ada pada tabel database. Kemudian pada script diatas ada error_reporting(), kegunaan dari error_reporting() adalah untuk memberikan informasi apabila terjadi error. Kemudian ada file koneksi, namun untuk script diatas script koneksi sudah saya masukkan jadi hapus saja include koneksi.php.
Setelah beberapa fungsi diatas dibawahnya ada fungsi yang dipanggil yaitu fungsi yang dibuat tadi. Kemudian descript diatas ada penggunaan fungsi md5 ini adalah fungsi yang berguna untuk mengantisipasi injeksi md5. Oke, selajutnya jika data aman, maka intruksi dilanjutkan untuk mengecek pada database apakah ada. Jika ada maka set sessi untuk mendaftarkan session ketika login dengan cara session_start(). Kemudian didaftarkan sessi username dan password. Session ini untuk keamanan ketika logout di kemudian. Apabila data tidak ada pada database maka login gagal.
Oke demikian Cara membuat login php yang aman semoga membantu.
sumber: 1, 2, 3
Postingan berikutnya
- sistem php
- coding login php
- sintak login
- source code login
- sintak login php
- contoh coding php
- Coding login
- Fungsi form login
- coding php login
- koding login php
- script login
- fungsi login pada suatu program
Itulah keindahan !
Login yang aman, memang sesuatu yang indah di dalam hati mas.
Pingback: Coding PHP logout Otomatis - Script Source Code - Contoh Program Aplikasi PHP
Informasi yang menarik. Ini yang saya cari, login menggunakan session dan passqord yang di enkripsi md5
Cara membuat 2 pengguna bagaimana ya?,
Biar admin masuk ke halaman admin dan pengunjung masuk ke halaman pengunjung
Untuk membuat 2 atau lebih pengguna, caranya bisa menggunakan level mas @doni, misalkan untuk admin kita beri level 1, kemudian misalnya dosen level 2, mahasiswa level 3 dan sebagainya.