นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 239
ความเห็น: 0

การแก้ปัญหา ลืม! Password admin ของ Joomla [C]

ปัญหาที่พบเจอบ่อย ๆ ของการใช้ CMS Joomla ที่หลายท่านมักจะลืม Password เมื่อไม่ได้ใช้งานนาน ๆ บทความนี้จะมารวบรวมวิธีการแก้ไขปัญหาเหล่านี้ให้

สวัสดีครับ

บทความนี้จะเป็นเรื่องเกี่ยวกับปัญหาที่พบเจอบ่อย ๆ ของการใช้ CMS Joomla ที่หลายท่านมักจะลืม Password เมื่อไม่ได้ใช้งานนาน ๆ  หรืออาจจะโดนผู้ไม่หวังดีแฮ็ครหัสผ่านไป อีกกรณีนึงคือ เป็นผู้ที่ต้องมาสานต่อการจัดการเว็บไซต์แทนผู้ดูแลคนเก่าที่ลาออกไปแล้วไม่ได้แจ้งข้อมูล Username หรือ Password ไว้ บทความนี้จะมารวบรวมวิธีการแก้ไขปัญหาเหล่านี้ให้ครับ

อันดับแรกสิ่งที่จำเป็นและสำคัญที่ท่านผู้อ่านต้องทราบก่อน คือ

- วิธีการนี้จะครอบคลุม Joomla เวอร์ชั่น 2.5, 3.x และ 4.x เท่านั้น
- ต้องสามารถเข้าถึงฐานข้อมูลได้โดยตรง เนื่องจากต้องเข้าไปแก้ไขข้อมูลในตารางผู้ใช้งานของ Joomla

หลักการทำงาน

เป็นการเข้าไปจัดการกับบัญชีผู้ใช้งาน Joomla ในฐานข้อมูลโดยตรง โดยใช้โปรแกรม phpMyAdmin หรือโปรแกรมตัวอื่น ๆ จัดการฐานข้อมูล MySQL เพื่อเปลี่ยนรหัสผ่าน ซึ่งจะมี 2 วิธี ดังต่อไปนี้


วิธีที่ 1 แก้ไขข้อมูล Password จากผู้ใช้ที่มีอยู่เดิม

1. เข้าไปในฐานข้อมูลโดยใช้โปรแกรม phpMyAdmin และเลือกที่ชื่อของฐานข้อมูลที่ใช้งาน ซึ่งจะอยู่ในช่องรายการด้านซ้ายมือ และจะมีรายชื่อของตารางฐานข้อมูลแสดงขึ้นมาทางด้านซ้ายมือของหน้าจอ

 

2. หาตารางที่มีคำว่า "_users" ต่อท้ายชื่อของตาราง จากนั้นกดคลิกจะแสดงข้อมูลในตาราง

 

3. จะเห็นข้อมูลของผู้ใช้งาน เช่น name, username, password ที่เราต้องจัดการแก้ไขคือ ข้อมูลในช่อง password ให้เรากดที่ Edit

 

4. จะแสดงหน้าให้แก้ไขข้อมูล จะสังเกตว่าที่ช่อง password จะเป็นอักษรหลายตัวต่อกันยาว ๆ ที่เป็นแบบนี้ก็เพราะว่าระบบของ Joomla จะมีการเข้ารหัส password เอาไว้ เพื่อป้องกันกรณีที่ถูกแฮ็ค password ออกไปได้ก็จะไม่สามารถใช้งานได้ทันที ต้องมีการถอดรหัส password หลายชั้น หลายขั้นตอน จึงจะถอดออกมาได้ คราวนี้วิธีการที่จะรีเซ็ต password ก็คือการนำข้อความที่มีการเข้ารหัสแบบเดียวกันไปวางแทนที่นั่นเอง ซึ่งในเว็บไซต์ทางการของ Joomla [อ้างอิง] ก็ได้มีการแจกจ่าย password ที่ได้เข้ารหัสไว้แล้ว จำนวน 3 ชุดด้วยกัน ดังนี้

- password = "this is the MD5 and salted hashed password"
------------------------------------------------------

- admin  = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- OU812  = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm


5. หากต้องการเปลี่ยน password ให้เป็นคำว่า secret ก็ให้คัดลอกข้อความ 

d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

ไปในช่อง password แทนที่ของเดิม จากนั้นก็ให้กดบันทึกผลการทำงาน


6. จะกลับมายังหน้ารายการข้อมูลในตารางผู้ใช้ จะพบกับข้อความ "1 row affected" และข้อมูลในช่อง password ได้เปลี่ยนแปลงไป แสดงว่าการเปลี่ยนแปลง password สำเร็จ


7. จากนั้นให้กลับไปลองทดสอบ login ที่หน้า Backend Joomla อีกครั้ง โดยให้ใช้ Password คำว่า "secret" หากสามารถเข้าได้ ก็แสดงการเปลี่ยนแปลง password สำเร็จ

8. เมื่อเข้ามาได้แล้ว สิ่งแรกที่ควรทำก็คือ ให้ไปเปลี่ยน password ที่เราต้องการใหม่อีกครั้ง  ก็เป็นอันเสร็จสิ้นขั้นตอนการรีเซ็ต password ของ Joomla

 

หมายเหตุ เพิ่มเติมวิธีการอีกแบบที่ไม่จำเป็นต้องนำ password ที่เข้ารหัสแล้ว 3 ชุดไปใช้งาน นั่นก็คือที่ข้อ 5 ให้เลือกเปลี่ยนรูปแบบ (Type) จาก varchar มาเป็น md5 แทน จากนั้นก็ให้ระบุ password ที่ต้องการในช่องได้ทันที ใครสนใจวิธีการสามารถดูได้จาก link นี้ครับ [อ้างอิง]

 

วิธีที่ 2 เพิ่มข้อมูลผู้ใช้ใหม่เข้าไปในระบบ

1. ให้เข้าไปในฐานข้อมูลโดยใช้โปรแกรม phpMyAdmin เช่นเดียวกันกับวิธีที่ 1 แล้วให้คลิกเลือกตารางที่มีคำว่า "_users" ต่อท้ายชื่อของตาราง จากนั้นให้กดที่ Tab SQL ด้านบน

 

2. จะปรากฏช่องให้ระบุ SQL Command ให้ระบุข้อความดังต่อไปนี้

INSERT INTO `mq64o_users`   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)VALUES ('Administrator2', 'admin2',    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());INSERT INTO `mq64o_user_usergroup_map` (`user_id`,`group_id`)VALUES (LAST_INSERT_ID(),'8');

สิ่งที่ต้องเปลี่ยนแปลง คือ

- xxxxx_users และ xxxxx_user_usergroup_map โดยที่ xxxxx คือ prefix ตารางด้านหน้าที่ Joomla จะสุ่มสร้างชื่อตารางเมื่อทำการสร้างเว็บไซต์ในครั้งแรก ให้ระบุให้ถูกต้อง ตัวอย่างในที่นี้คือ mq64o

- name, username และ password ให้ระบุชื่อผู้ใช้ในที่นี้คือ Administrator2, บัญชีผู้ใช้ คือ login ในที่นี้คือ admin2 และ password ซึ่งต้องเป็น password ที่ถูกเข้ารหัสไว้แล้วโดยดูได้จาก วิธีที่ 1 ข้อที่ 4 ด้านบนมาใช้งาน ในที่นี้ password ที่นำมาใช้คือ d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

เมื่อเปลี่ยนแปลงเสร็จแล้ว ให้กดปุ่ม Go

 

3. หากไม่มีข้อผิดพลาด จะแสดงข้อความ "1 row inserted" ดังรูป

 

4. เมื่อกลับมายังหน้ารายการข้อมูลในตารางผู้ใช้ จะพบว่ามีข้อมูลที่เราได้ทำการเพิ่มเข้าไปใหม่ สามารถนำข้อมูลดังกล่าวไปทำการ login เข้าระบบดู

 

5. หาก login สำเร็จ เมื่อลองเข้าไปดูในส่วนของ Users ใน joomla จะพบบัญชีผู้ใช้ที่เราได้เพิ่มเข้าไป โดยที่มีสิทธิ์สูงสุดคือ ระดับ Super Users

 

สรุปส่งท้าย

จะเห็นว่าการรีเซ็ต password ของ Joomla ไม่ได้มีเครื่องมือเฉพาะ ต้องใช้ความสามารถของฐานข้อมูลในการเข้าไปจัดการโดยตรง ซึ่งในบางครั้งสำหรับผู้ขอใช้บริการหลาย ๆ ท่าน อาจจะไม่เคยได้สัมผัสกับการใช้งานในส่วนนี้มากเท่าไหร่ เพราะผู้ให้บริการหลาย ๆ แห่ง อย่างในมหาวิทยาลัยเอง ก็มักจะมีผู้ดูแลติดตั้งให้เสร็จเรียบร้อยแล้ว ผู้ขอใช้บริการเพียงแค่เข้าไปจัดการกับเว็บไซต์เท่านั้น ส่วนการรีเซ็ต password ของ Joomla ก็อาจจะต้องเป็นภาระของผู้ดูแล ผู้ให้บริการ ที่ต้องมาทำหน้าที่ในส่วนนี้ครับ

 

หวังว่าบทความนี้จะเป็นประโยชน์กับผู้อ่าน ไม่มากก็น้อยครับ หากผิดพลาดประการใดก็ขออภัยมา ณ ที่นี้ด้วย

ขอบคุณครับ

 

อ้างอิง

https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F

https://youtu.be/vwQAz8kt7ZU?rel=0&autoplay=1&showinfo=0

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): joomla  password  reset
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 26 พฤศจิกายน 2563 23:14 แก้ไข: 03 ธันวาคม 2563 13:59 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น
คุณต้องทำการเข้าระบบก่อนแสดงความเห็น