วิธีการกู้คืนรหัสผ่าน หรือ ตั้งค่ารหัสผ่าน ของผู้ดูแลระบบใหม่
From Joomla! Documentation
การกู้คืนรหัสผ่านสำหรับ Joomla! 1.5
หน้าบทความนี้สำหรับ Joomla! 2.5 รุ่นที่สูงกว่าขึ้นไปเท่านั้น หากคุณยังใช้งานเป็น Joomla! 1.5 อยู่
ปกติแล้ว, คุณสามารถเพิ่ม, แก้ไข, และลบทิ้ง ชื่อผู้ใช้งาน และรหัสผ่านของคุณ ได้จากส่วนจัดการผู้ใช้งานที่อยู่ในระบบหลังบ้านได้ ซึ่งในการดำเนินการดังกล่าว คุณจะต้องลงชื่อเข้าสู่ระบบโดยเป็นสมาชิกที่มีสถานะอยู่ในกลุ่มของผู้ดูแลระบบขั้นสูงสุด.
ในบางสถานการณ์ วิธีดังกล่าวอาจไม่สามารถทำได้ ตัวอย่างเช่น เว็บไซต์ของคุณถูก "แฮ็ค" และรหัสผ่าน หรือ ชื่อผู้ใช้งานได้ถูกเปลี่ยนไปแล้ว หรือคนที่รู้รหัสผ่านไม่ได้อยู่กับคุณแล้ว หรือบางทีตัวคุณอาจจะลืมรหัสผ่านที่คุณเคยใช้เองก็ได้
ในกรณีดังกล่าวนั้น คุณยังสามารถที่จะปรับแต่งค่าในฐานข้อมูล Joomla! เพื่อให้คุณสามารถกลับเข้าสู่ระบบในฐานะของผู้ดูแลระบบขึ้นสูงสุดได้ วิธีการต่างๆต่อไปนี้เป็นวิธีการที่สามารถทำได้สำหรับผู้ที่เป็นผู้ควบคุมระบบ
วิธีที่1: แก้ไขไฟล์ configuration.php
หากคุณสามารถเข้าไปที่ไฟล์ configuration.php
ที่ใช้ในการติดตั้ง Joomla! ซึ่งอยู่บนเซิร์ฟเวอร์ของคุณได้ คุณก็สามารถที่จะกู้คืนรหัสผ่านกลับมาได้ด้วยวิธีดังต่อไปนี้.
1. ใช้โปรแกรม FTP เชื่อมต่อกับเว็บไซต์ของคุณ ลองหาไฟล์ที่ชื่อ configuration.php แล้วตรวจสอบสิทธิ์ในการเข้าใช้งานไฟล์ด้วย หากสิทธิ์ในการเข้าใช้งานไฟล์เป็นค่าตัวเลข 444 หรือค่าอื่นๆอยู่ ให้คุณเปลี่ยนค่าสิทธิ์ในการเข้าใช้งานของไฟล์ configuration.php นี้ให้เป็น 644. จะช่วยไม่ให้เกิดปัญหาในการอัพโหลดไฟล์ configuration.php ที่คุณได้ทำการเปลี่ยนแปลงข้อมูลแล้วขึ้นไปในภายหลัง.
2. ดาวน์โหลดไฟล์ configuration.php ดังกล่าวลงมาไว้ที่เครื่อง.
3. เปิดไฟล์ configuration.php ที่คุณดาวน์โหลดมา ด้วยโปรแกรมจำพวก text editor เช่น โปรแกรม notepad++ แล้วเพิ่มข้อความในบรรทัดนี้
public $root_user='myname';
เข้าไปที่ส่วนที่อยู่ด้านล่างของรายการ โดยที่ myname จะเป็นชื่อของผู้ใช้งานอีกราย ที่สามารถเข้าถึงระบบในฐานะของผู้ดูแลได้อยู่แล้ว และมีรหัสผ่านที่คุณทราบดีอยู่แล้ว ซึ่งชื่อผู้ใช้งานที่มีสิทธิ์ในระดับของผู้ดูแล หรืออยู่ในระดับที่สูงกว่านี้ สามารถนำมาใช้แทนที่ชื่อผู้ใช้ที่มีสิทธิ์ในการเข้าถึงระบบในฐานของผู้ดูแลเดิมได้.
4. บันทึกไฟล์ configuration.php แล้วอัพโหลดกลับขึ้นไปที่เว็บไซต์เหมือนเดิม. คุณสามารถปล่อยสิทธิ์ในการเข้าใช้งานไฟล์ configuration.php เป็นค่า 644 ไว้ดังเดิมก็ได้
ผู้ใช้งานอีกรายนี้ ก็จะกลายเป็นผู้ดูแลระบบขั้นสูงสุดชั่วคราว
5. ลงชื่อเข้าใช้งานที่ระบบหลังบ้าน แล้วเปลี่ยนรหัสผ่านของชื่อผู้ดูแลระบบที่คุณไม่ทราบรหัส เพื่อสร้างผู้ใช้งานที่เป็นผู้ดูแลระบบขั้นสูงสุดขึ้นมาใหม่. หากคุณสร้างผู้ใช้งานรายเดิมนี้ขึ้นมาใหม่นี้ คุณอาจจะต้องระงับ หรือลบชื่อผู้ใช้รายเก่าทิ้งไป ทั้งนี้ขึ้นอยู่กับสถานการณ์ของคุณ
6. เมื่อเสร็จสิ้น กรุณาตรวจสอบให้แน่ใจว่าคุณได้คลิกที่ลิงก์ "คลิกที่นี่เพื่อลองดำเนินการดังกล่าวอัตโนมัติ" ซึ่งจะปรากฏขึ้นมาในกรอบแจ้งเตือนให้ลบบรรทัดที่คุณได้เพิ่มเข้าไปในไฟล์ configuration.php ก่อนหน้านี้ออก. หากคลิกที่ลิงก์ดังกล่าวแล้วยังไม่ประสบความสำเร็จ ให้คุณกลับไปลบบรรทัดดังกล่าวที่อยู่ในไฟล์ configuration.php ที่อยู่ในเครื่องด้วยตัวเอง โดยใช้โปรแกรม text editor. เสร็จแล้วอัพโหลดไฟล์ configuration.php นี้กลับขึ้นไปบนเว็บไซต์ของคุณ.
7. ใช้โปรแกรม FTP ของคุณแก้ไขสิทธิ์การเข้าใช้งานไฟล์ configuration.php ซึ่งปกติควรจะมีค่าเป็น 444. หากคุณลบบรรทัดที่เพิ่มเข้าไปก่อนหน้านี้ด้วยตัวเอง ให้คุณเปลี่ยนสิทธิ์การเข้าใช้งานไฟล์ configuration.php ให้เป็น 444.
หากคุณไม่มีผู้ใช้งานรายอื่นที่ทราบรหัสผ่านของตนเอง และคุณไม่สามารถลงทะเบียนสมัครสมาชิกใหม่จากแบบฟอร์มด้านหน้าเว็บได้ คุณอาจจำเป็นต้องเข้าไปเปลี่ยนรหัสจากในฐานข้อมูล ตามเนื้อหาในเอกสารที่อยู่ด้านล่างนี้แทน.
วิธ๊ที่ 2: แก้ไขที่ฐานข้อมูลโดยตรง
หากใช้วิธีการข้างต้นแล้วไม่ได้ผล คุณยังมีตัวเลือกอีก 2 วิธี ซึ่งทั้งสองวิธีดังกล่าวนี้จำเป็นต้องเข้าไปทำงานกับฐานข้อมูล MySQL โดยตรง.
เปลี่ยนรหัสผ่านของผู้ดูแลจากในตารางฐานข้อมูลโดยตรง
หากยังมีผู้ใช้งานรายดังกล่าวยังคงสถานะเป็นผู้ดูแลอยู่ วิธีที่ง่ายที่สุดก็คือการเข้าไปเปลี่ยนรหัสผ่านในตารางฐานข้อมูล ให้เป็นค่าที่คุณเข้าใจได้. วิธีนี้คุณจำเป็นต้องเข้าไปที่ฐานข้อมูล MySQL โดยใช้โปรแกรม phpMyAdmin หรือโปรแกรมตัวอื่นๆ.
กรุณาตรวจสอบให้แน่ใจว่า หลังจากที่คุณสามารถเข้าระบบได้อีกครั้ง คุณได้เปลี่ยนรหัสผ่านใหม่อีกครั้งแล้วหรือยัง
คำแนะนำต่อไปนี้จะแสดงให้คุณเห็นถึงวิธีการเปลี่ยนรหัสผ่านด้วยตัวเอง โดยเปลี่ยนรหัสเป็นคำว่า - "secret"
- เข้าไปที่หน้าของ phpMyAdmin และเลือกที่ชื่อของฐานข้อมูลที่ใช้งานกับ Joomla! ซึ่งจะอยู่ในช่องรายการแบบดรอปดาวน์ที่อยู่ทางด้านซ้ายมือ. และจะมีรายชื่อของตารางฐานข้อมูลแสดงขึ้นมาทางด้านซ้ายมือของหน้าจอ.
- หาตารางที่มีคำว่า "_users" ต่อท้ายชื่อของตาราง (หมายเหตุ: คุณอาจไม่ได้คำนำหน้าชื่อตารางฐานข้อมูลด้วยคำว่า jos_ ก็ได้, ให้คุณคลิกเข้าไปที่ชื่อตารางที่มีคำต่อท้ายว่า _users ).
- คลิกที่ปุ่ม "เปิดดู" ที่อยู่ในแถบเครื่องมือด้านบน. ระบบจะแสดงรายชื่อของสมาชิกผู้ใช้งานทั้งหมดที่มีอยู่ในเว็บไซต์
- หาชื่อของผู้ใช้งานที่คุณต้องการเปลี่ยนรหัสผ่าน แล้วกดที่ปุ่มไอคอน แก้ไข ที่อยู่ในบรรทัดเดียวกัน.
- ระบบจะแสดงแบบฟอร์มที่อนุญาตให้คุณแก้ไขข้อมูลที่อยู่ในช่องข้อมูลรหัสผ่านได้ ให้คุณคัดลอกค่าต่อไปนี้
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
แล้วนำไปใส่ไว้ในช่องข้อมูลสำหรับรหัสผ่าน แล้วกดที่ปุ่ม ไป . หน้าจอของ phpMyAdmin จะแสดงข้อความ "แถวที่ได้รับผลกระทบ: 1". ณ จุดนี้, รหัสผ่านจะถูกเปลี่ยนเป็น "secret".
- เข้าสู่ระบบโดยใช้ชื่อผู้ใช้งานและรหัสผ่านดังกล่าวนี้ แล้วเข้าไปเปลี่ยนรหัสผ่านสำหรับผู้ใช้งานรายนี้ใหม่เป็นรหัสผ่านที่มีความปลอดภัยมากขึ้น. กรุณาตรวจสอบรายชื่อผู้ใช้งานทั้งหมดโดยใช้ ส่วนจัดการผู้ใช้งาน เพื่อตรวจสอบให้แน่ใจว่าทุกอย่างถูกต้อง. หากเว็บไซต์ของคุณถูกแฮ็ค คุณอาจจะต้องเปลี่ยนรหัสผ่านของผู้ใช้งานทั้งหมดที่มีอยู่บนเว็บไซต์.
เพิ่มชื่อผู้ใช้งานที่เป็นผู้ดูแลระบบที่มีสิทธิ์ขั้นสูงสุดขึ้นมาใหม่
หากการเปลี่ยนรหัสผ่านไม่ได้ผล, หรือคุณไม่แน่ใจว่าชื่อผู้ใช้งานของคุณอยู่ในกลุ่มของผู้ดูแลที่มีสิทธิ์ขั้นสูงสุดหรือไม่, คุณสามารถใช้วิธีการนี้เพื่อสร้างผู้ใช้งานรายใหม่ขึ้นมาแทน.
- เปิดเข้าไปที่หน้าของ phpMyAdmin และเลือกที่ฐานข้อมูลที่ใช้งานกับ Joomla! ที่อยู่ในช่องรายการแบบดรอปดาวน์ทางด้านซ้ายมือ. ระบบจะแสดงรายชื่อตารางของฐานข้อมูลให้คุณเห็นทางซ้ายมือของหน้าจอ.
- กดที่ปุ่ม "SQL" ที่อยู่ในแถบเครื่องมือเพื่อให้ระบบเรียกข้อมูล SQL จากฐานข้อมูลที่คุณเลือกออกมาแสดง. ด้วยคำสั่งดังกล่าว ระบบจะแสดงช่องข้อมูลที่ถูกเรียกว่า "เรียกข้อมูล SQL/เรียกข้อมูลจากฐานข้อมูลออกมาแสดง <ชื่อฐานข้อมูลของคุณ>".
- ลบข้อความใดๆก็ตามที่อยู่ในช่องข้อมูลนี้ออก แล้วคัดลอกโค้ดคำสั่งที่อยู่ด้านล่างนี้ นำไปวางไว้แทนที่ แล้วกดที่ปุ่ม ไป เพื่อให้คำสั่งดังกล่าวงานและเพิ่มชื่อผู้ควบคุมระบบรายใหม่ดังกล่าวเข้าไปไว้ตารางฐานข้อมูล.
- ใช้โค้ดคำสั่ง SQL ที่อยู่ทางด้านล่างนี้เพื่อเพิ่มบัญชีผู้ควบคุมระบบรายอื่นๆเข้าไป
โค้ดคำสั่ง SQL สำหรับใช้กับ Joomla! 2.5, 3.x, 4.x, 5.x
INSERT INTO `jos31_users`
(`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2',
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');
ณ จุดนี้, คุณควรที่จะสามารถเข้าสู่ระบบทางส่วนด้านหลังบ้านของ Joomla! ด้วยชื่อผู้ใช้งานว่า "admin2" โดยใช้รหัสผ่านว่า "secret" ได้แล้ว หลังจากที่เข้าสู่ระบบแล้ว ให้คุณเข้าไปที่ ส่วนจัดการผู้ใช้งาน แล้วเปลี่ยนรหัสผ่านดังกล่าวให้เป็นรหัสผ่านใหม่ที่มีความปลอดภัยมากยิ่งขึ้น และเพิ่มที่อยู่อีเมลที่ใช้งานได้จริงให้กับบัญชีผู้ใช้งานรายดังกล่าวนั้นด้วย. หากมีโอกาสที่เป็นไปได้ว่าเว็บไซต์ของคุณอาจจะถูก "แฮ็ค", กรุณาตรวจสอบให้แน่ใจว่า ข้อมูลต่างๆของผู้ใช้งานรายอื่นๆทั้งหมดที่มีอยู่เป็นไปอย่างถูกต้อง โดยเฉพาะผู้ใช้งานที่เป็นสมาชิกอยู่ในกลุ่มของ ผู้ควบคุมระบบขั้นสูงสุด.
ด้วยวิธีการตัวอย่างข้างต้น ระบบจะทำการเปลี่ยนรหัสผ่านไปเป็น "secret" ให้กับคุณ โดยที่ค่าอื่นๆอีกสองตัวจะมีค่าดังตัวอย่างด้านล่างนี้
- password = "this is the MD5 and salted hashed password" ------------------------------------------------------ - admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT - secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 - OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm