Jumat, 07 November 2014

Membuat Halaman Login PHP dengan Engkripsi

Hai.. kali ini saya kan memberikan contoh pembuatan Halaman Login dengan PHP dengan Keamanan MD5 kita juga akan mempelajari tentang database, session, dan enkripsi.

1.) Ketika user memasukkan username beserta passwordnya, maka yang pertama kali dilakukan adalah mengeceknya dalam database apakah username telah terdaftar, jika telah terdaftar, dalam hal ini ada dalam database maka kita memerlukan satu variable yang mengindikasikan bahwa user tersebut ada.

2.) Setelah itu maka sang user akan diberi sebuah session yang diambil dari usernamenya jika  pengecekan password sebelumnya oleh MD5 sukses dilakukan.

3.) Jika kesemuanya tidak sesuai maka sang user akan diredirect ke halaman login.html,  sehingga terlihat seperti diam di tempat.

Kita mulai dengan Pembuatan Database


create database userdb;
use userdb;
create table tbl_user(id int(3) primary key auto_increment, 
????????????????????? username varchar(50), password varchar(50));
insert into tbl_user values(”,’admin’,’21232f297a57a5a743894a0e4a801fc3′);

21232f297a57a5a743894a0e4a801fc3 –> ini adalah md5 hash dari ‘admin’


Buat halaman Loginya Terlebih Dahulu :

  • login.php

<html><head><title>Halaman Login …Habib Nurudin </title></head>
<body>
<table align="center" border="1">
<form action="cek.php" method="post">
<tr><td>username</td><td><input name="username" type="text" /></td></tr>
<tr><td>password</td><td><input name="password" type="password" /></td></tr>
<tr><td></td><td><input name="submit" type="submit" value="Enter" /></td></tr>
</form>
</table>
</body>
</html>
  • config.php
<?php
$host = “localhost”; $username = “root”; $password = “”; $databasename = “userdb”; $connection = mysql_connect($host, $username, $password) or die(“Kesalahan Koneksi … !!”); mysql_select_db($databasename, $connection) or die(“Databasenya Error”);?>
  • Buat Cek.php
<?php
session_start();
include “config.php” ;
$username = $_POST['username'];
$password = $_POST['password'];
$passwordhash = md5($password);? // mengenkripsikannya untuk dicocokan dengan database
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash'”;
$jalankanperintahnya = mysql_query($perintahnya);
$ada_apa_enggak = mysql_num_rows($jalankanperintahnya);
if ($ada_apa_enggak >= 1 )
{
$_SESSION['username'] = $username;
header(“location: main.php”);
}
else
header(“location: login.php”);
?? ??? ??? ??>

  • Main.php
<?php
session_start();
if (ISSET($_SESSION['username'])){
print $_SESSION['username'];
print “<br><a href=logout.php?maukeluar=iya>logout</a>”;}
else
header(“location: login.php”);
?>