[x] ปิดหน้าต่างนี้
Powered by Chaonet.com
 



  

การพัฒนาเว็บไซต์
มาเปลี่ยน ระบบสมาชิก ให้ใช้รหัสผ่าน แบบ MD5 กันเถอะ

อังคาร ที่ 24 กุมภาพันธ์ พ.ศ.2552


มาเปลี่ยน ระบบสมาชิก ให้ใช้รหัสผ่าน แบบ MD5 กันเถอะ
รหัสผ่านแบบ MD5 เป็นระบบที่นับว่ามีความปลอดภัยสูง เนื่องจากว่าเป็นการเข้าระหัส แบบ ทางเดียว
แปลว่า เมื่อเข้ารหัสแล้ว ก็จะไม่สามารถแก้กลับคืนได้
ซึ่งการเข้ารหัสที่ได้จะได้เป็นตัวอักษร ASCII ขนาด 32 ตัวอักษรตามมาตรฐาน RFC1321
วิธีทำนั้นจะมี 3 ส่วนด้วยกัน คือ
1. การเพิ่มสมาชิก
ก่อนอื่นต้องแก้ไขขนาดของฟิวด์ password ให้เท่ากับหรือมากกว่า 32
เพิ่มฟิวด์ activation_code  (เอาไว้ใช้สำหรับ ยืนยันที่อีเมล์ และยืนยันการเปลี่ยนรหัสผ่าน เมื่อลืมรหัสผ่าน)
`activation_code` varchar(30) NOT NULL,

เข้ารหัสก่อนบรรทัด insert ข้อมูล
$arrChars = array("A","F","B","C","O","Q","W","E","R","T","Z","X","C","V","N");
$activationCode = $arrChars[rand(0,(sizeof($arrChars)-1))]."".rand(1000,9999)
.$arrChars[rand(0,(sizeof($arrChars)-1))].rand(1000,9999);
$pwd_name1=md5($_POST[''pwd_name1'']);
$result = mysql_query("insert into member
(member_id,member_pic,name,user,password,website,email,signup,signature,activation_code)  values
(''$member_id'',''$Filename'',''$name'',''$user_name'',''$pwd_name1'',''$website'',''$email'',$signup,''$signature'',''$activationCode'')") 
or die("Err Database");

โค๊ดด้านล่าง สำหรับ เปลี่ยนรหัสผ่านเดิมให้เป็น MD5 และ ใส่ activation_code ให้กับสมาชิกเก่า (กรณีที่มีสมาชิกเก่าอยู่ในระบบฐานข้อมูลมากๆ)

<?
include "config.inc.php";
mysql_select_db($db) ;

# เปิดไฟล์ Member
$SQL="Select * from member order by id";
$result=mysql_query($SQL);

$arrChars = array("A","F","B","C","O","Q","W","E","R","T","Z","X","C","V","N");
while ($row=mysql_fetch_array($result)) {
   $user=trim($row["user"]);   
   $md5password=md5($row["password"]);
   $activationCode = $arrChars[rand(0,(sizeof($arrChars)-1))]."".rand(1000,9999)
.$arrChars[rand(0,(sizeof($arrChars)-1))].rand(1000,9999);
   mysql_query("UPDATE member set password=''$md5password'', activation_code=''$activationCode'' WHERE user=''$user'' ");
   echo "<br>New Password and Activation code for user ".$user." = ".$activationCode;
}

mysql_close($LINK);
?>
<center><font face="Arial" size="4" color="#0000FF">  Activate  Users Completed</font></center>
 

2. การเข้าระบบ
แก้ไข
$pwd_login=$_POST[''pwd_login''];
เป็น
$pwd_login=md5($_POST[''pwd_login'']);

3. ไฟล์ลืมรหัสผ่าน forget_password.php จะส่งรหัสผ่านใหม่ไปให้ที่อีเมล์ เมื่อผู้ใช้งานคลิ๊กยืนยันการเปลี่ยนรหัสแล้ว
ระบบจะแก้ไขรหัสเดิมให้เป็นรหัสใหม่ แล้วผู้ใช้งานก็สามารถเข้าระบบด้วยรหัสใหม่

 

forget_password.zip  ขนาด 2.11 kb.
 ดาวน์โหลดที่นี่
  • คะแนนโหวต 5 /5 ดาว
  • 1
  • 2
  • 3
  • 4
  • 5

คะแนนโหวต : 5 / 5 ดาว (จากจำนวนโหวต 3 โหวต)


เข้าชม : 2784 ดาวน์โหลด 413


การพัฒนาเว็บไซต์ 5 อันดับล่าสุด

      มาเปลี่ยน ระบบสมาชิก ให้ใช้รหัสผ่าน แบบ MD5 กันเถอะ 24 ก.พ. 2552
      โอนฐานข้อมูลสมาชิก จาก DRUPAL มา Maxsite 21 ก.พ. 2552
      ตรวจสอบ username เวลาสมัครสมาชิก โดยไม่ต้อง POPUP 20 ก.พ. 2552
      ระบบลิ้งค์เพื่อนบ้าน สำหรับ Maxsite 29 ธ.ค. 2551


ความคิดเห็นที่ 1
ศุกร์ ที่ 27 กุมภาพันธ์ พ.ศ.2552 เวลา 10:10:18
อยากได้วิธี ยืนยันอีเมล์ก่อน สมาชิกถึงจะใช้งานได้ครับ
โดย : jack    ไอพี : 125.27.53.207

ความคิดเห็นที่ 2
จันทร์ ที่ 2 มีนาคม พ.ศ.2552 เวลา 11:02:58
จะเขียนลงให้ครับ ขอดูความคิดเห็น เรื่องรหัสผ่านก่อนนะครับ
โดย : webmaster    ไอพี : 125.27.54.43

ความคิดเห็นที่ 3
อาทิตย์ ที่ 28 มิถุนายน พ.ศ.2552 เวลา 16:39:54
ขอบคุณแนวคิดที่ให้ activate ผ่านอีเมลล์ การแจ้งรหัสผ่านจึงจะใช้งานได้ครับ ตอนนี้ได้ปรับปรุงระบบดังกล่าวเรียบร้อยแล้ว

แต่ส่วนบทความ เอาไว้รอในเว็บผมมีสมาชิกมาถามก่อนละกัน
โดย : chui [narongrit.net]    ไอพี : 124.121.115.188



ชื่อ/Email :

เปลี่ยนรหัสชุดใหม่
ใส่รหัสที่ท่านเห็นลงในช่องนี้
ไอคอน : ย่อหน้า จัดซ้าย จัดกลาง จัดขวา ตัวหนา ตัวเอียง เส้นใต้ ตัวยก ตัวห้อย ตัวหนังสือเรืองแสง ตัวหนังสือมีเงา สีแดง สีเขียว สีน้ำเงิน สีส้ม สีชมพู สีเทา
อ้างอิงคำพูด ใส่ code เพิ่มเพลง เพิ่มวีดีโอคลิป เพิ่มรูปภาพ เพิ่มไฟล์ Flash เพิ่มลิงก์ เพิ่มอีเมล์
ความคิดเห็น :
บริษัท สกลนครโอเอแอนด์คอมพิวเตอร์ จำกัด  Page Rank