สวัสดีครับ มาศึกษาการเข้ารหัสผ่านให้มีความปลอดภัยมากยิ่งขึ้นโดยใช้อัลกอรึทึมที่ชื่อ bcrypt กันครับ Workshop นี้สามารถใช้ได้ตั้ง PHP5.5 เป็นต้นไป ตัวอัลกอรึทึมจะมีการเก็บสตริงขนาด 60 ตัวอักษร  มีความปลอดภัยสูง และเป็นการเข้ารหัสแบบทางเดียว (one-way hashing algorithm.) ก็คือไม่สามารถถอดรหัสได้นั้นเอง ซึ่งแน่นอนว่ามันปลอดภัยกว่าการเข้ารหัสแบบ md5 , sha1  ตัว bcrypt จะใช้ security parameter ค่าสุ่มที่ใส่เพิ่มเข้าไปให้รหัสที่มีการสุ่มแต่ละครั้งจะต่างกัน (salt) แม้จะเป็นรหัสผ่านตัวเดียวกันก็ได้ตาม และ ค่าความยากของการคำนวณ (cost) จะเริ่มต้นที่ 10 และมีการใช้คำสั่ง password_verify เพื่อเปรียบเทียบรหัสผ่านว่าตรงกันหรือไม่ และที่สำคัญใน Workshop นี้จะมีตัวอย่างระบบ Login Logout ตรวจสอบสิทธิ์การใช้งานด้วยครับ เผื่อไว้ครับ เผื่อได้ใช้





คลิปแสดงการทำงาน

 

0. ตารางข้อมูลตัวอย่าง tb_member *อย่าลืมสร้างฐานข้อมูลก่อนนะครับ ฐานข้อมูลชื่อ workshop_hashpwd
*
รวมคลิปสอนสร้าง Database & SQL คลิก

จากตารางข้างบนจะมีข้อมูลให้ 2 records ครับ username & password จะใส่เหมือนกัน คือ username : aaa , password : aaa และ mmm ครับ จะมีไฟล์สร้างรหัสให้ด้วย ต่อด้านล่างครับ
ความหมายของแต่ละคอลัมภ์(ฟิลด์)

id = ไอดี ลำดับ คีย์หลัก
username = บัญชีผู้ใช้
password = รหัสผ่าน
name = ชื่อสมาชิก
m_level = ระดับของสมาชิก ใน workshop นี้ใส่ A และ M เท่านั้น (A = admin , M = member)

1. สร้างโฟลเดอร์สำหรับทดสอบ Workshop ด้วยนะครับ (Workshop นี้ รองรับ PHP7 นะครับ เพราะเป็น PHP MySQLi Procedural) ชื่อโฟลเดอร์ที่แนะนำ เช่น  projectLogin, passwordHash และ loginhashpassword เป็นต้น
*สำหรับคนที่ยังไม่ทราบว่าจะต้องไปสร้างไว้ที่ไหน และนำดูคลิปปรับพื้นฐานชุดนี้ครับ คลิก

2. ไฟล์เชื่อมต่อฐานข้อมูล  (สร้างไว้ในโฟลเดอร์ข้างต้นในข้อ 1) connectDB.php

*อย่าลืมแก้ชื่อฐานข้อมูล Username & Password สำหรับเข้าใช้ phpMyAmin หรือ ฐานข้อมูลให้ถูกต้องนะครับ

3. ฟอร์มล็อคอิน (Login Form) หรือหน้าแรกของ Workshop index.php

*ในไฟล์นี้จะมีลิ้งค์คลิกไปยังหน้าฟอร์มสำหรับสร้างรหัสผ่านด้วยครับ  ต่อด้านล่างครับ

4. ฟอร์มสร้างรหัสผ่านใหม่ createPwd.php

*มีคอมเม้นเพิ่มเติมในโค้ดนะครับ ในฟอร์มนี้ พอเราใส่รหัสผ่านตามที่ต้องการแล้วให้คลิกปุ่ม สร้างรหัสผ่าน แล้วคัดลอกไปใส่ในคอลัมภ์ password ที่ตาราง tb_member และให้กรอก Username, name สมมุติขึ้นมาด้วยครับ ส่วนคอลัมภ์ m_level ให้ใส่ A หรือ M เท่านั้น (A = admin , M = member)

5. ไฟล์เช็คการล็อคอิน checkLogin.php *คอมเม้นเพิ่มเติมในโค้ด

*คอมเม้นเพิ่มเติมในโค้ดครับ อ่านให้ละเอียดทุกบรรทัดเลย

6.ไฟล์ออกจากระบบ logout.php สำหรับล้างค่า เคลียร์ค่า Session ที่ถูกสร้างตอนล็อคอินสำเร็จครับ

ลองเอาไปประยุกต์ใช้ดูนะครับ

รายการระบบพร้อมใช้ : https://devbanban.com/?p=4425

รายการคอร์สออนไลน์ : https://devbanban.com/?cat=250


ขอแนะนำระบบพร้อมใช้งาน *รายละเอียดและราคาอยู่ใต้คลิป

 

 

ระบบพร้อมใช้ทั้งหมด คลิก


ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่

ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์  บวรเลิศสุธี   เลขที่  878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์  บวรเลิศสุธี เลขที่ 406-359094-1

fanpage : https://www.facebook.com/sornwebsites/

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save