Aptech Jakarta
Kategori
  • Android
  • Aplikasi
  • Gadget
  • Game
  • Teknologi
  • Website
  • Windows

Wedding Organizer Surabaya | Wedding Organizer Gresik | Wedding Organizer Malang | Wedding Organizer Madura | Wedding Organizer Mojokerto | Wedding Organizer Jakarta | Wedding Organizer Bogor | Wedding Organizer Depok | Wedding Organizer Tangerang | Wedding Organizer Bekasi

Catering Surabaya | Catering Gresik | Catering Malang | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi | Catering Jakarta Murah | Catering Bogor Murah | Catering Depok Murah | Catering Tangerang Murah | Catering Bekasi Murah

Supplier Sayur | Supplier Buah | Hosting Gratis
Catering Surabaya
 | Catering Gresik | Catering Malang | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi

Catering Surabaya | Catering Malang | Catering Gresik | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi

ApTech Jakarta
  • Beranda
  • Catering Jakarta
  • Catering Bogor
  • Catering Depok
  • Catering Tangerang
  • Catering Bekasi
  • Gadget
  • Teknologi

PHP Admin Leveling dan Login Menggunakan MD5

  • Januari 20, 2014
  • admin
2

SHARES

ShareTweet

php leveling and login md5

php leveling and login md5

Tutorial beberapa bulan yang lalu, saya telah menjelaskan dan memberikan sedikit contoh mengenai implementasi level admin menggunakan session pada web berbasis PHP. Percobaan sederhana tersebut masih memiliki banyak kelemahan terutama pada fungsi header dan juga security.

Download Sampel + Database

Oleh karena itu, saya akan melengkapinya dengan beberapa perubahan fungsi PHP header location dan penambahan security login menggunakan MD5. Jika anda belum membaca dan mempraktikan tutorial sebelumnya, saya sarankan untuk mencoba mengaplikasikan tutorial tersebut, disini.

Dalam tutorial ini, hal paling menonjol terletak pada penambahan fungsi “Add User/Admin” yang miliki fitur enkripsi MD5, dimana telah banyak dipakai pada mayoritas aplikasi web berbasis PHP untuk security login. MD5 sendiri merupakan sebuah rekayasa kriptografi untuk karakter yang menghasilkan hash. ??

Lets Start !

Contents

  • 1 Persiapan database dan konfigurasi
  • 2 Membuat halaman Index / Login
  • 3 Membuat halaman Admin / Insert User
    • 3.1 Baca juga:

1Persiapan database dan konfigurasi

Penulis membuat database dengan nama Leveling dan membuat sebuah table ‘user’ yang berisi field, berikut :
1. id => tipe data Integer – 5 digit (Primary, Auto Increment).
2. Username => tipe data Varchar – 50 digit (Unique, Not Null).
3. Level => tipe data Varchar – 20 digit (Not Null).
4. Password => tipe data Varchar – 50 digit (Not Null).
Berikut adalah screenshot database yang telah penulis buat,

Setelah desain database kita buat seperti diatas, insert secara manual user dengan nama Admin. Untuk password, kita bisa memanfaatkan MD5 Online Generator seperti di laman www.md5.cz, Caranya, tinggal kita masukkan kombinasi huruf password dan klik button “hash darling, hash!” ??

Untuk konfigurasi database, buatlah file config.php dan ketik kode standar konfigurasi seperti di bawah ini :

<?php
	$host="localhost";
	$user="root";
	$password="";	
	$koneksi=mysql_connect($host,$user,$password) or 
	die("Gagal koneksi mas bro..!");
	mysql_select_db("leveling");
?>

2Membuat halaman Index / Login

Langkah selanjutnya adalah membuat halaman index.php yang berisi tampilan login utama kita. Pada form index login ini, kita akan melemparnya melalui action ke dalam file login.php. Berikut adalah script index.php dan login.php yang bisa Anda ketik :

<?php
// memulai session
session_start();
error_reporting(0);
if (isset($_SESSION['level']))
{
  // jika level admin
  if ($_SESSION['level'] == "admin")
   { 
    header('location:admin.php'); 
   }
   // jika kondisi level user maka akan diarahkan ke halaman lain
   else if ($_SESSION['level'] == "user")
   {
       header('location:user.php');
   }
}
?>
<div id="form">
	<form method="post" action="login.php" class="form-horizontal">
	<label class="username">Username</label><br>
	<input class="input" type="text" name="username" placeholder="Masukkan Username"><br>
	<label class="password">Password</label><br>    	
	<input class="input" type="password" name="pass" placeholder="Masukkan Password"><br>
	<button type="submit" name="submit" class="btn">Login</button>
</form>
</div>

Login.php script,

<?php
session_start();
include 'config.php';
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['pass']);
$password = md5($password);
// query untuk mendapatkan record dari username
$query = "SELECT * FROM user WHERE username = '$username'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
// cek kesesuaian password
if ($password == $data['password'])
{
echo "sukses";
    // menyimpan username dan level ke dalam session
    $_SESSION['level'] = $data['level'];
    $_SESSION['username'] = $data['username'];
    //Penggunaan Meta Header HTTP
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL=admin.php">';    
	exit;
}
else 
echo '<h1>Login gagal</h1>';
?>

Nah, dari script login.php Anda bisa melihat dua buah fungsi keamanan yang umum dipakai oleh developer PHP.

  • Pertama adalah mysql_real_escape_string() yang berfungsi untuk mengamankan kombinasi string berbahaya SQL Injecting,
  • dan yang kedua adalah pada md5($password) yang akan mengkonversi string password kedalam hash MD5.

3Membuat halaman Admin / Insert User

Pada file login.php, kita telah menuliskan beberapa kode jika kombinasi username dan password sesuai maka user akan ‘dilempar’ ke sebuah halaman admin.php menggunakan fungsi Meta Header Refresh. Fungsi ini akan berguna jika server PHP kita masih menggunakan PHP versi lawas.

Berikut adalah script untuk halaman admin.php, dimana pada halaman tersebut berisi form untuk membuat user baru memanfaatkan fungsi MD5 dan juga anti SQL Injection. ??

<?php
session_start();
error_reporting(0);
include 'config.php';
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['pass']);
$password = md5($password);
$level = $_POST['level'];
// query untuk insert data user baru
if (isset($username) && isset($password) && isset($level)) {
  $insert = "insert into user set username = '$username', password = '$password', level = '$level'";
  if (mysql_query($insert))
  {
    echo "<h3>User berhasil ditambahkan</h3>";
  }
  else {
    echo "<h3>User gagal ditambahkan</h3>";
  }
}
?>
<?php
// memulai session
session_start();
error_reporting(0);
if (isset($_SESSION['level']))
{
  // jika level admin
  if ($_SESSION['level'] == "admin")
   { 
    echo "<h3>Form add user</h3>";
    echo "<form method='post' action='admin.php' class='form-horizontal'>

    <label class='username'>Add Username</label><br>
      <input class='input' type='text' name='username' placeholder='Username'><br>

    <label class='password'>Password</label><br>      
      <input class='input' type='password' name='pass' placeholder='Password'><br>

    <label class='level'>Level</label><br>
    <select class='level' name='level'>
      <option value='admin'>Admin</option>
      <option value='user'>User</option>
    </select>

    <button type='submit' name='submit' class='btn'>Add user</button>

  </form>"; 
  echo "<a class='logout' href='logout.php'>Logout Now</a>";
   }
   // jika kondisi level user maka akan diarahkan ke halaman lain
   else if ($_SESSION['level'] == "user")
   {
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL=user.php">';    
    exit;
   }
}
if (!isset($_SESSION['level']))
{
  echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">';    
  exit;
}
?>

Oke, selesai. Jika tutorial di atas pembaca ikuti dan pahami dengan saksama, saya pastikan aplikasi sederhana leveling dan securing menggunakan MD5 akan berjalan dengan baik. Saya telah menyertakan source code dan database untuk pembaca implementasikan.

Download Sampel + Database

Terima kasih ! Caaaooo ??

Baca juga:

  1. Permasalahan Penggunaan Header Location Aplikasi PHP
  2. Implementasi Level Admin Dengan Session PHP MySQL
  3. Tips Keamanan Aplikasi Web PHP & MySQL
  4. Desain Aman Form Login Menggunakan Jquery Accordion
  5. Membuat Form Registrasi dan Sistem Aktivasi Menggunakan PHP Mailer – Day 2
 
admin

Previous Article
  • Android
  • Aplikasi
  • Teknologi

Membuat Image Button Pada Aplikasi Android

  • Januari 18, 2014
  • admin
View Post
Next Article
  • Gadget
  • Aplikasi
  • Teknologi

Permasalahan Penggunaan Header Location Aplikasi PHP

  • Januari 24, 2014
  • admin
View Post

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Pos-pos Terbaru
  • 8 HP Untuk Main Call of Duty Mobile Terbaik 2023
  • Game Esports Terbaik
  • Rekomendasi 10 Game Browser Terbaik
  • Aplikasi Pengunci Aplikasi Android Terbaik
  • 6 Smartwatch Terbaik 1 Jutaan Tahun 2022, Super Canggih!
Arsip
Kategori
  • Android
  • Aplikasi
  • Gadget
  • Game
  • Teknologi
  • Website
  • Windows
Wedding Organizer

Wedding Organizer Surabaya | Wedding Organizer Gresik | Wedding Organizer Malang | Wedding Organizer Madura | Wedding Organizer Mojokerto | Wedding Organizer Jakarta | Wedding Organizer Bogor | Wedding Organizer Depok | Wedding Organizer Tangerang | Wedding Organizer Bekasi

Partner

Catering Surabaya | Catering Gresik | Catering Malang | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi | Catering Jakarta Murah | Catering Bogor Murah | Catering Depok Murah | Catering Tangerang Murah | Catering Bekasi Murah

External Link

Supplier Sayur | Supplier Buah | Hosting Gratis
Catering Surabaya
 | Catering Gresik | Catering Malang | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi

Catering Surabaya | Catering Malang | Catering Gresik | Catering Mojokerto | Catering Jakarta | Catering Bogor | Catering Depok | Catering Tangerang | Catering Bekasi

Blog Teknologi Jakarta
Berita dan artikel teknologi dan Informasi Jakarta

Input your search keywords and press Enter.