เปลี่ยนรหัสผ่านบัญชีผู้ใช้ขั้นสูง


16

ฉันลืมรหัสผ่านผู้ดูแลระบบขั้นสูงของฉัน

ฉันจะรีเซ็ตรหัสผ่านบัญชีผู้ดูแลระบบขั้นสูงได้อย่างไร
ฉันสามารถเข้าถึงทั้ง FTP และ phpMyadmin ฉันจะเปลี่ยนรหัสผ่านบัญชีผู้ใช้ขั้นสูงได้อย่างไร

คำนำหน้าตารางของฉันคือ Xyz8_


configuration.php (กล่าวถึงในความคิดเห็นของคุณ) ไม่มีส่วนเกี่ยวข้องกับรหัสผ่านของผู้ดูแลระบบขั้นสูงเฉพาะกับผู้ใช้และรหัสผ่านของฐานข้อมูลเท่านั้น!
jackJoe

คำตอบ:


14

จาก joomla docs คุณจะกู้คืนหรือรีเซ็ตรหัสผ่านผู้ดูแลระบบของคุณได้อย่างไร?

วิธีที่ 1: Configuration.php

  1. ใช้โปรแกรม FTP เพื่อเข้าถึง ftp ของเว็บไซต์ของคุณ
  2. ค้นหาและดาวน์โหลด configuration.php
  3. การใช้เท็กซ์เอดิเตอร์เปิดconfiguration.phpและเพิ่มบรรทัดต่อไปนี้ แทนที่mynameเป็นชื่อบัญชีที่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบซึ่งคุณทราบรหัสผ่าน

    public $root_user='myname';

  4. บันทึกไฟล์configuration.phpและอัปโหลดอีกครั้งผ่าน FTP ไปยังไซต์ของคุณด้วยสิทธิ์การเข้าถึงไฟล์ 644 ตอนนี้ผู้ใช้รายนี้จะเป็นผู้ดูแลระบบขั้นสูงชั่วคราว

  5. เข้าสู่ระบบแบ็กเอนด์ด้วยบัญชีด้านบนและเปลี่ยนรหัสผ่านบัญชีผู้ดูแลระบบที่หายไป คุณสามารถบล็อกหรือลบรายการเก่าและสร้างรายการใหม่แทนได้

  6. เมื่อเสร็จแล้วตรวจสอบให้แน่ใจว่าได้ใช้ลิงก์ "คลิกที่นี่เพื่อลองทำโดยอัตโนมัติ" ที่ปรากฏในกล่องการแจ้งเตือนเพื่อลบบรรทัดที่เพิ่มเข้าไปในไฟล์ configuration.php หากใช้ลิงก์ไม่สำเร็จให้ย้อนกลับและลบบรรทัดที่เพิ่มจากไฟล์ configuration.php ของคุณโดยใช้โปรแกรมแก้ไขข้อความ อัปโหลดไฟล์ configuration.php กลับไปที่เว็บไซต์

  7. การใช้โปรแกรม FTP ของคุณตรวจสอบสิทธิ์การใช้งานไฟล์ของไฟล์ configuration.php ควรเป็น 444 หากคุณลบบรรทัดที่เพิ่มด้วยตนเองจากนั้นเปลี่ยนการอนุญาตไฟล์ในไฟล์ configuration.php เป็น 444

วิธีที่ 2: การเปลี่ยนแปลงรายการฐานข้อมูลโดยตรง

ค้นหาผู้ใช้ Super ในXyz8_usersตารางฐานข้อมูลและในฟิลด์รหัสผ่านป้อนข้อมูลต่อไปนี้:

d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

ด้านบนเปลี่ยนรหัสผ่านเป็นความลับ

ค่าอื่น ๆ สำหรับรหัสผ่านคือ:

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

หากคุณต้องการใช้แบบสอบถาม mysql คุณสามารถเรียกใช้ต่อไปนี้:

INSERT INTO `Xyz8_users`
   (`name`, `username`, `password`, `params`)
VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

หลังจากที่คุณเข้าถึงบัญชีของคุณคุณควรเปลี่ยนรหัสผ่านเป็นสิ่งที่ปลอดภัยเนื่องจากข้อมูลข้างต้นเป็นแบบสาธารณะและมอบให้เพื่อการกู้คืนเท่านั้น


6

Joomla ใช้ตาราง Xyz8_users สำหรับจัดเก็บข้อมูลผู้ใช้

การรีเซ็ต passwort นั้นง่ายเพียงแค่เรียกใช้แบบสอบถามนี้ใน phpmyadmin:

update Xyz8_users set password=md5('newpassword') where username='yourusername';

หลังจากเปลี่ยนรหัสผ่านด้วย SQL แล้วให้ล็อกอินเข้าสู่ Joomla และจะถูกแปลงเป็นวิธีการแฮชรหัสผ่านการอัปเดต


5

คุณควรมองหาตาราง Xyz8_users

  1. คลิก "เรียกดู" 2 รายการโดยผู้ใช้ทั้งหมดจะปรากฏขึ้น ค้นหาผู้ใช้ที่คุณต้องการแก้ไขและคลิกลิงก์ "แก้ไข" ด้านหน้าแถว
  2. ค้นหาแถว "รหัสผ่าน" และคลิกที่กล่องเลือกใต้คอลัมน์ "ฟังก์ชั่น"
  3. เลือก "MD5" และพิมพ์รหัสผ่านใหม่ใน textarea "Value"
  4. คลิกที่ปุ่ม "ไป" ที่ด้านล่างของหน้าและคุณ voila รหัสผ่านของคุณมีการเปลี่ยนแปลง

ความนับถือป้อนคำอธิบายรูปภาพที่นี่


คำตอบนี้ทั้งหมดเพราะอธิบายว่ารหัสผ่านถูกเข้ารหัสด้วย MD5 และแสดงวิธีการทำ
jackJoe

5

วิธีที่ 1

ใน phpMyAdmin ไปที่Xyz8_usersตาราง (เปลี่ยนคำนำหน้าXyz8_ตารางเป็นคำนำหน้าตารางของคุณหากแตกต่างกัน)

เลือกบันทึกสำหรับบัญชี Super User (บัญชี Super Admin มี ID 62 หรือ 42 เป็นค่าเริ่มต้น)

คัดลอกและวางแฮช MD5 ที่รู้จัก (หนึ่งในสตริงอักขระที่ยาวกว่าด้านล่าง) ลงในฟิลด์รหัสผ่าน

admin = 21232f297a57a5a743894a0e4a801fc3

secret = 5ebe2294ecd0e0f08eab7690d2a6ee69

บันทึกการบันทึก

เข้าสู่ระบบที่ส่วนท้ายของเว็บไซต์ของคุณด้วยรหัสผ่านใหม่ "ผู้ดูแลระบบ" หรือ "ความลับ" หรือคล้ายกันจากด้านบน

เมื่อเข้าสู่ระบบคุณสามารถรีเซ็ตรหัสผ่านเป็นสิ่งที่คุณต้องการ

วิธีที่ 2

ใน phpMyAdmin ให้ไปที่แท็บ SQL และป้อนคำสั่ง MySQL เช่นตัวอย่างต่อไปนี้:

UPDATE `Xyz8_users` SET `password` = MD5( 'new-password' ) WHERE `Xyz8_users`.`username` = "admin" ;

(เปลี่ยนคำนำหน้าตารางเป็นคำนำหน้าตารางXyz8_ของคุณหากแตกต่างกัน)

"new_password" - แทนที่ด้วยรหัสผ่านใหม่ที่คุณต้องการใช้

"ผู้ดูแลระบบ" - แทนที่สิ่งนี้หากชื่อผู้ใช้ผู้ดูแลระบบของคุณแตกต่างกัน

คลิกที่ปุ่มไปเพื่อส่งแบบสอบถาม

เข้าสู่ระบบที่ส่วนท้ายของเว็บไซต์ของคุณด้วยรหัสผ่านใหม่

การอ้างอิง: http://kb.siteground.com/article/How_to_reset_my_Joomla_administrator_password.html


4

นอกจากนี้ยังมีเครื่องมือสำหรับ Joomla 2.5 (ยังไม่ได้ทดสอบกับ Joomla 3): http://myext.eu/en/j25-login เป็นเพียงไฟล์ PHP ที่คุณอัปโหลดไปยัง / ผู้ดูแลระบบ / โฟลเดอร์และเยี่ยมชมในเบราว์เซอร์ของคุณ .

เข้าสู่ระบบในฐานะผู้ดูแลระบบขั้นสูงโดยไม่ต้องใช้บัญชี
วิธีการ: คัดลอกไฟล์ใน "ผู้ดูแลระบบ" และไปที่ [your_site] /administrator/log.php
คำเตือน: ลบไฟล์หลังการใช้งาน!

เนื้อหาของไฟล์ PHP คือ:

<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
    include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';
require_once JPATH_BASE.'/includes/helper.php';
require_once JPATH_BASE.'/includes/toolbar.php';
$app = JFactory::getApplication('administrator');
JPluginHelper::importPlugin('user');
$user = JUser::getInstance();
$db = JFactory::getDBO();
$q = 'SELECT u.* FROM `#__users` as u
        LEFT JOIN `#__user_usergroup_map` as ug ON u.id = ug.user_id
        WHERE `block` = 0 AND `activation` = 0 AND ug.group_id = 8
        LIMIT 0,1';
$db->setQuery($q);

$user_tmp = $db->loadObject();
$user_tmp->guest = 0;
$user_tmp->isRoot = 1;
// $user_tmp->groups = array(8=>8);
// $user_tmp->_authGroups = array(1,8);
// $user_tmp->_authLevels = array(1,1,2,3);
// $user_tmp->gid = 1000;

foreach($user_tmp as $k=>$v){
    $user->set($k,$v);
}
$session = JFactory::getSession();
$session->set('user', $user);
$app = JFactory::getApplication();
$app->checkSession();
$app->redirect( JUri::base(), "" );

1

เป็นไปได้สำหรับการกู้คืนรหัสผ่านของผู้ดูแลระบบ

สองวิธีในการกู้คืนรหัสผ่านของผู้ดูแลระบบ

ขั้นตอนที่ 1

แก้ไขไฟล์ configuration.php

public $root_user='myname';

ขั้นตอนที่ 2

แก้ไข #__user table ในฐานข้อมูล

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

  1.Navigate to phpMyAdmin and select the database for the Joomla! site in the left-hand drop-down list box. This will show the database tables on the left side of the screen.


  2.Find and click on the table with "_users" appended in the list of tables (note: you may have a prefix that is not jos_, simply go to the _users table for your prefix).


  3.Click on the "Browse" button in the top toolbar. This will show all of the users that are set up for this site.


  4.Find the user whose password you want to change and press the Edit icon for this row.


  5.A form will display that allows you to edit the password field. Copy the value

*d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199*

into the password field and press the Go button. phpMyAdmin should display the message "Affected rows: 1". At this point, the password should be changed to "secret".


  6.Log in with this user and password and change the password of this user to a secure value. Check all of the users using the User Manager to make sure they are legitimate. If you have been hacked, you may want to change all of the passwords on the site. 

คุณช่วยแก้ไขคำตอบและเพิ่มบทสรุปสำหรับขั้นตอนที่ 2 ได้ไหม
Harald Leithner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.