Free Ebook Tutorial from Rosihan Ari's Blog

Ebook Javascript | Ebook PHP | Ebook AJAX | Ebook CSS | Ebook FPDF | Ebook Wordpress | Ebook Java SE


Produk yang direkomendasikan untuk Anda
Video Tutorial Pemrograman Web


Script PHP Untuk Update Password Administrator


October 30th, 2008 | by rosihanari |


Jual kaos

Ada seorang teman dan penikmat setia blog saya ini yang pernah meminta tolong untuk dibuatkan tutorial bagaimana membuat script PHP dalam proses updating password administrator. Karena saya waktu itu telah menjanjikan, ya… akhirnya saya usahakan untuk membuat tutorial ini.

Untuk mempersempit scope dari tutorial ini, diasumsikan password administrator sudah ada sebelumnya dan disimpan dalam tabel database yang memiliki struktur sbb:

CREATE TABLE `user` (
  `username` varchar(30),
  `password` varchar(32),
  PRIMARY KEY  (`username`)
)

dan data username serta password admin yang disimpan dalam tabel di atas adalah sbb:

username : admin
password : d46d2f5893d5029080d74310eaa9306e

password di atas adalah hasil enkripsi dari password aslinya ‘admin123′. Enkripsinya sendiri menggunakan metode md5 yang dikombinasikan dengan pengacak. Baca kembali penjelasannya di artikel saya tentang tips membuat password dengan md5. Berikut ini proses enkripsinya:

$pengacak = "hduwAHDU28328heUUH7283xx";
$password = "admin123";

$passwordEnkrip = md5($pengacak.md5($password.$pengacak));

Nah… untuk mekanisme update password ini pada dasarnya meminta user, dalam hal ini administratornya, untuk memasukkan password yang lama terlebih dahulu (‘admin123′) ke dalam form update. Selanjutnya user diminta pula memasukkan password baru. Untuk password baru ini, user diminta memasukkan dua kali, karena hal ini berguna untuk mengkonfirmasi benar tidaknya penulisan ejaan password baru tersebut.

OK… dari penjelasan di atas, kita coba buat dahulu formnya

form.html

<h1>Update Password Administrator</h1>

<form method="post" action="update.php">
<table>
<tr><td>Masukkan password lama</td><td><input type="password" name="oldPass" /></td></tr>
<tr><td>Masukkan password baru</td><td><input type="password" name="newPass1" /></td></tr>
<tr><td>Masukkan kembali password baru</td><td><input type="password" name="newPass2" /></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Submit"></td></tr>
</table>
</form>

Setelah user (administrator) memasukkan password lama dan barunya melalui form di atas, selanjutnya script update terlebih dahulu harus mengecek benar tidaknya password lama. Untuk mengeceknya, kita bandingkan hasil enkripsi dari password lama yang dimasukkan melalui form di atas dengan data password lama terenkripsi yang tersimpan dalam tabel user. Dengan demikian dalam script update terdapat statement perbandingan sbb:

if (password terenkripsi di database = md5($pengacak.md5(password lama dari form.$pengacak)))

Perhatikan perbandingan di atas… bahwa metode untuk mengenkripsi password lama dari form harus sama dengan metode enkripsi ketika menyimpan password lama di database, termasuk pengacaknya.

Jika password terenkripsi yang disimpan dalam database sama dengan password terenkripsi dari form, atau dengan kata lain password lama yang dimasukkan via form dan di database sama, maka selanjutnya cek kesesuaian antara password baru 1 dan 2. Jika sama, maka proses update password bisa dilakukan. Perhatian… bahwa sebelum mengupdate passwordnya di database, jangan lupa untuk mengenkripsinya terlebih dahulu. Gunakan metode enkripsi dan pengacak yang sama.

Dari penjelasan di atas, kita buat script untuk update passwordnya.

update.php

<?php

$pengacak = "hduwAHDU28328heUUH7283xx";

mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");

// membaca pass lama, dan baru dari form

$passwordlama  = $_POST['oldPass'];
$passwordbaru1 = $_POST['newPass1'];
$passwordbaru2 = $_POST['newPass2'];

// cek benar tidaknya password yang lama

$query = "SELECT * FROM user WHERE username = 'admin'";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);

if ($data['password'] == md5($pengacak.md5($passwordlama.$pengacak)))
{
    // jika password lama benar, maka cek kesesuaian password baru 1 dan 2
    if ($passwordbaru1 == $passwordbaru2)
    {
        // jika password baru 1 dan 2 sama, maka proses update password dilakukan

        // enkripsi password baru sebelum disimpan ke db

        $passwordbaruenkrip = md5($pengacak.md5($passwordbaru1.$pengacak));

        $query = "UPDATE user SET password = '$passwordbaruenkrip' WHERE username = 'admin' ";
        $hasil = mysql_query($query);
        if ($hasil) echo "Update password Admin sukses";
    }
    else echo "Password baru Anda tidak sama";
}
else echo "Password lama Anda salah";

?>

OK… selesai juga akhirnya kita buat scriptnya. Kepada mas yang telah merequest tutorial ini… thanks to u dan janji saya sudah ditunaikan. Maaf karena baru bisa posting sekarang. Mudah-mudahan berguna bagi semuanya…

Bagi Anda yang menginginkan script di atas, dapat mendownload di bawah ini

Download Script




Share ke Facebook Share ke Twitter
Baca Juga Artikel Terkait
Tips Membuat Script PHP Pengolah Password dengan MD5
Membuat Fasilitas Lost Password dengan PHP
Script PHP untuk Mengedit Data Via Form
Membuat Autentifikasi User di PHP
Script PHP untuk Mencegah Submit Form Berulang Kali

Kata kunci: PHP - script -


 

Komentar Anda ...