md5+securekey pada halaman login.php
05/01/09 at 10:01 | In info | 2 CommentsTags: coding, login, md5, php, secure key
Mungkin teman2 udah ga asing lagi dengan sebutan md5, tapi apa sebenarnya md5 itu..?
dikutip dari wikipedia “Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.
MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat). Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan.”
Penggunaan fungsi md5 sebagai aplikasi keamanan sebuah website merupakan hal yang sudah tidak asing lagi.. ini ditujukan sebagai pengecoh bagi para dedemit maya yang sering numpang liat2 isi database kita..
seiring perkembangan zaman md5 tidak lagi bisa di katakan “aman” karena muncul bermacam2 aplikasi yang dapat mendeskrip lalu bagaimana cara men-kreasikan halaman login pada sebuah website agar SEDIKIT lebih aman…
untuk mencobanya:
1. buat table di database “database”
//buat tabel user//
CREATE TABLE user (
username VARCHAR(30),
password VARCHAR(32),
PRIMARY KEY (username)
)
//tambah baris untuk tabel user//
INSERT INTO `user` ( `id` , `myusername` , `mypassword` )
VALUES (
‘1′, ‘01284248210a9ed1ddd656f60025a914′, ‘347ebee86d60eaaea0bcf136de38f437′
);
nb.
01284248210a9ed1ddd656f60025a914 (admin)
347ebee86d60eaaea0bcf136de38f437 (password)
2. buat script untuk antispam
// code
<?
session_start();
if ($_SESSION['myusername']){
header(“location:admin.php”);
}
$code=$_SESSION['data_string'];
$_SESSION['data_string']=$_POST['data_string'];
// untuk membangkitkan string secara acak
srand((double)microtime()*1000000);
// enkripsi string baru sebanyak 32 karakter dengan kombinasi huruf dan angka kecil
$string=md5(rand(0,9999));
// karakter acak yang diambil dimulai dari karakter ke-15 sebanyak 5 digit
$data_string=substr($string,1,6);
?>
//end of code
nb.
script di atas memberikan nilai acak yang nantinya di gunakan sebagai verifikasi login.
3. form tabel login.
<table width=”244″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”1″>
<form name=”login” method=”post” action=”<? PHP_SELF ?>”>
<tr>
<td width=”61″>Username</td>
<td width=”15″>:</td>
<td width=”144″><input name=”myusername” type=”text”></td>
<td width=”19″></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name=”mypassword” type=”password”></td>
<td width=”19″></td>
</tr>
<tr>
<td>antispam</td>
<td>:</td>
<td><input name=”kode” type=”text”></td>
<td bgcolor=”#EBEBEB”><? echo $data_string; ?></td>
<tr>
<td height=”45″></td>
<td> </td>
<td> <input type=”submit” name=”login” value=”Login”>
<input type=”reset” name=”reset” value=”cancel”> </td>
<td valign=”top”> </td>
</tr>
</table>
nb.
pada baris <form name=”login” method=”post” action=”<? PHP_SELF ?>”> PHP_SELF berarti tidak menggunakan file lain sebagai pengeksekusi submit, oleh karena itu script php dan table di gabung menjadi satu file.
kemudan pada baris <td bgcolor=”#EBEBEB”><? echo $data_string; ?></td> berisi data verifikasi antispam
4. eksekusi
<?
if (!empty($login)){
$mysql_host = “localhost”;
$mysql_database = “databse”;
$mysql_user = “user”;
$mysql_password = “password”;
$tbl_name = “members”;
$koneksi=mysql_connect(“$mysql_host”,”$mysql_user”,”$mysql_password”) or die(mysql_error());
mysql_select_db(“$mysql_database”) or die(mysql_error()); //pilih database
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// mengencript hasil inputan dangan fungsi md5();
$mysecurekey=”apaajhasecurekey”;
$mymd5secure=md5($mysecurekey);
$mymd5username=md5($myusername);
$mymd5password=md5($mypassword);
// penggabungan inputan md5 dan securekey sehingga tidak mudah terbaca
$username=md5($mymd5username . md5($mysecurekey));
$password=md5($mymd5password . md5($mysecurekey));
// strip_tags berfungsi untuk membuang tag-tag HTML dan PHP dalam suatu string.
strip_tags($myusername);
strip_tags($mypassword);
strip_tags($kode);
if($kode==”){
echo “error:<br> -kode empty”;
}elseif ($kode!==$code){
echo “error:<br> -kode salah..!!”;
}elseif ($myusername==”){
echo “error:<br> -username kosong”;
}elseif ($mypassword==”){
echo “error:<br> -password kosong”;
}else{
$sql=”SELECT * FROM $tbl_name WHERE myusername=’$username’ and mypassword=’$password’”;
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register(‘myusername’);
echo “<script>alert (’selamat datang $myusername..!’);window.location=’admin.php’;</script>”;
}
else {
echo “<script>alert (‘login salah’);window.location=’login.php’;</script>”;
}
}
}else {
}
?>
pada penggunaan fungsi md5(); sebenarnya dapat di kreasikan, agar terlihat lebih rumit dan tidak mudah di descript.
=smoga bermanfaat=
& Komentar »
RSS umpan untuk komentar-komentar dalam tulisan ini. URI Lacak Balik
Tinggalkan komentar
Blog pada WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

kadang2 kalo mau download program2 dari internet dikasih kode md5-nya itu untuk apa ya? gmana cara pakainya?
trims, salam kenal
Komentar oleh tejo — 10/01/09 #
ok ok ,, bisa di copas …
Komentar oleh eNgga — 04/02/09 #