Home Kênh học tập Cách Reset Password Admin WordPress khi quên mật khẩu

Cách Reset Password Admin WordPress khi quên mật khẩu

by admin
504 views

Trong WordPress, có nhiều cách để reset password admin WordPress của bạn. (Thông thường, cách dễ nhất để reset lại nó là thông qua liên kết “Bạn mất mật khẩu?” Trên trang đăng nhập chính cho blog hoặc trang web của bạn.)
Tuy nhiên, có những thời điểm nhất định (đặc biệt nếu email của bạn không hoạt động chính xác) mà bạn có thể phải thực hiện các bước khác nhau để reset password admin WordPress của mình.

Dưới đây là danh sách các cách khác nhau để reset password. Phương pháp mà bạn sử dụng phụ thuộc vào loại truy cập mà bạn vẫn có vào trang web của mình.

Để thay đổi mật khẩu của bạn

Để thay đổi mật khẩu của bạn trong các phiên bản hiện tại:

  • Trong màn hình quản trị, menu, đi tới Users > All Users.
  • Nhấp vào tên người dùng của bạn trong danh sách để chỉnh sửa nó.
  • Trong màn hình Edit User, cuộn xuống phần New Password và nhấp vào nút Generate Password.
  • Nếu bạn muốn thay đổi mật khẩu được tạo tự động, bạn có thể ghi đè nó bằng cách nhập mật khẩu mới vào ô được cung cấp. Hộp độ mạnh sẽ cho bạn biết mật khẩu của bạn tốt (mạnh) như thế nào.
  • Nhấp vào nút Update User.

Mật khẩu mới của bạn sẽ hoạt động ngay lập tức.

Reset Password Admin WordPress thông qua trình gửi email tự động

Nếu bạn biết tên người dùng hoặc tài khoản email trong hồ sơ của mình, bạn có thể sử dụng tính năng “bị mất mật khẩu” của WordPress.

  • Truy cập trang Đăng nhập WordPress của bạn (giống như http://yoursite.com/wordpress/wp-login.php)
  • Nhấp vào nút “Lost your password?” liên kết
  • Bạn sẽ được đưa đến một trang để nhập một số chi tiết. Nhập tên người dùng của bạn hoặc địa chỉ email trong hồ sơ cho tài khoản đó.
  • Vui vẻ chờ đợi vì mật khẩu mới của bạn được gửi qua email cho bạn.
  • Khi bạn có mật khẩu mới, hãy đăng nhập vào trang hồ sơ của bạn và thay đổi mật khẩu này thành mật khẩu mà bạn có thể nhớ.

Reset Password Admin WordPress thông qua dòng lệnh MySQL

  1. Lấy mã MD5 cho mật khẩu của bạn
    • Truy cập md5 Hash Generator, hoặc…
    • Tạo key cùng Python, hoặc…
    • Trên Unix/Linux:
      1. Tạo một tệp có tên wp.txt, không chứa gì ngoài mật khẩu mới.
      2. tr -d ‘\r\n’ < wp.txt | md5sum | tr -d ‘ -‘
      3. rm wp.txt
    • Trên OS X:
      1. Tạo một tệp có tên wp.txt, không chứa gì ngoài mật khẩu mới. Sau đó nhập một trong các dòng bên dưới
      2. md5 -q ./wp.txt; rm ./wp.txt (Nếu bạn muốn mã băm MD5 được in ra.)
      3. md5 -q ./wp.txt | pbcopy; rm ./wp.txt (Nếu bạn muốn sao chép băm MD5 vào khay nhớ tạm.)
  2. “mysql -u root -p” (log in vào MySQL)
  3. nhập mật khẩu mysql của bạn
  4. “use (tên của cơ sở dữ liệu)” (select WordPress database)
  5. “show tables;” (bạn đang tìm kiếm một tên bảng có “users” ở cuối)
  6. “SELECT ID, user_login, user_pass FROM (name-of-table-you-found);” (điều này cho bạn ý tưởng về những gì đang diễn ra bên trong)
  7. “UPDATE (name-of-table-you-found) SET user_pass=”(MD5-string-you-made)” WHERE ID = (id#-of-account-you-are-reseting-password-for);” (thực sự là thay đổi mật khẩu)
  8. “SELECT ID, user_login, user_pass FROM (name-of-table-you-found);” (xác nhận rằng nó đã được thay đổi)
  9. (gõ Control-D để thoát khỏi ứng dụng mysql)

Lưu ý: nếu bạn có phiên bản MySQL gần đây (phiên bản 5.x?), Bạn có thể yêu cầu MySQL tính toán băm MD5 cho bạn.

  1. Bỏ qua bước # 1 ở trên.
  2. Thay vào đó, hãy làm như sau cho bước # 7.
    • “UPDATE (name-of-table-you-found) SET user_pass = MD5(‘(new-password)’) WHERE ID = (id#-of-account-you-are-reseting-password-for);” (thực sự là thay đổi mật khẩu)

Lưu ý rằng ngay cả khi mật khẩu có dạng muối, nghĩa là chúng trông giống như $P$BLDJMdyBwegaCLE0GeDiGtC/mqXLzB0, bạn vẫn có thể thay thế mật khẩu bằng băm MD5 và WordPress sẽ cho phép bạn đăng nhập.

Thông qua phpMyAdmin

Bài viết này dành cho những người có quyền truy cập phpMyAdmin vào cơ sở dữ liệu của họ. Lưu ý: sử dụng phpMyAdmin tự chịu rủi ro. Nếu bạn nghi ngờ khả năng sử dụng của mình, hãy tìm lời khuyên thêm. Kênh49 không chịu trách nhiệm về việc mất dữ liệu.

  • Bắt đầu bằng cách đăng nhập vào phpMyAdmin và nhấp vào cơ sở dữ liệu.
  • Một danh sách các cơ sở dữ liệu sẽ xuất hiện. Nhấp vào cơ sở dữ liệu WordPress của bạn.

reset password admin WordPress bằng PHPmyadmin

  • Tất cả các bảng trong cơ sở dữ liệu của bạn sẽ xuất hiện. Nếu không, hãy nhấp vào Structure.
  • Tìm wp_users trong cột Table.
  • Nhấp vào biểu tượng để browse.
  • Tìm tên người dùng của bạn trong user_login
  • Nhấp vào edit (có thể trông giống như biểu tượng bút chì trong một số phiên bản của phpMyAdmin).

PHPmyAdmin

  • User_id của bạn sẽ được hiển thị. Nhấp vào Chỉnh sửa.
  • Bên cạnh user_pass là một danh sách dài các số và chữ cái.
  • Chọn và xóa chúng và nhập mật khẩu mới của bạn.
  • Nhập mật khẩu bạn muốn sử dụng. Bạn có thể nhập nó vào bình thường – nhưng hãy nhớ, nó có phân biệt chữ hoa và chữ thường.
  • Trong ví dụ này, mật khẩu mới sẽ là ‘Rabbitseatcarrot.’
  • Khi bạn đã hoàn thành việc đó, hãy nhấp vào menu thả xuống được chỉ định và chọn MD5 từ menu.

Cách reset password admin WordPress bằng phpmyadmin

  • Kiểm tra xem mật khẩu của bạn có đúng không và MD5 có trong hộp không.

Thay đổi mật khẩu admin bằng phpMyadmin

  • Nhấp vào nút “Go” ở dưới cùng bên phải.
  • Kiểm tra mật khẩu mới trên màn hình đăng nhập. Nếu nó không hoạt động, hãy kiểm tra xem bạn đã làm theo chính xác các hướng dẫn này chưa.

Reset mật khẩu Thông qua FTP

Ngoài ra còn có một cách dễ dàng để đặt lại mật khẩu của bạn qua FTP, nếu bạn đang sử dụng user admin.

  • Đăng nhập vào trang web của bạn qua FTP và tải xuống tệp functions.php của chủ đề đang hoạt động của bạn.
  • Chỉnh sửa tệp và thêm mã này vào nó, ngay ở đầu, sau <? Php:
wp_set_password( 'my_new_password', 1 );

Nhập mật khẩu mới của riêng bạn cho người dùng quản trị chính. “1” là số ID người dùng trong bảng wp_users.

  • Tải lên tệp đã sửa đổi trở lại trang web của bạn.
  • Sau khi bạn có thể đăng nhập, hãy đảm bảo quay lại và xóa mã đó. Nó sẽ đặt lại mật khẩu của bạn trên mỗi lần tải trang cho đến khi bạn làm như vậy.

Thông qua WP CLI

WP CLI là một công cụ dòng lệnh để quản lý cài đặt WordPress của bạn.

  1. Di chuyển vào thư mục /wordpress và nhập
$ wp user list

để xem tất cả người dùng. Tìm ID của người dùng bạn muốn cập nhật.

  1. Sau đó, cập nhật người dùng
$ wp user update 1 --user_pass=$UP3RstrongP4$w0rd

thay thế “1” bằng id của người dùng bạn muốn cập nhật

Sử dụng tập lệnh đặt lại mật khẩu khẩn cấp

Nếu các giải pháp khác được liệt kê ở trên không hoạt động, hãy thử Tập lệnh đặt lại mật khẩu khẩn cấp. Xin lưu ý rằng nó không phải là một plugin, nó là một tập lệnh PHP.

Lời cảnh báo:

  • Tập lệnh đặt lại mật khẩu khẩn cấp yêu cầu bạn biết tên người dùng của quản trị viên.
  • Nó cập nhật mật khẩu quản trị viên và gửi email đến địa chỉ email của quản trị viên.
  • Ngay cả khi bạn không nhận được email, mật khẩu vẫn sẽ được thay đổi.
  • Bạn không cần phải đăng nhập để sử dụng nó. (Sau cùng, nếu bạn có thể đăng nhập, bạn sẽ không cần tập lệnh.)
  • Đặt tập lệnh vào thư mục gốc của cài đặt WordPress của bạn. Không tải nó lên thư mục Plugin WordPress của bạn.
  • Vì lý do bảo mật, hãy nhớ xóa tập lệnh khi bạn hoàn tất.

Hướng dẫn sử dụng:

  • Sao chép tập lệnh khẩn cấp từ Tập lệnh mật khẩu khẩn cấp
<?php
/*
	This program is free software; you can redistribute it and/or modify
    	it under the terms of the GNU General Public License as published by
    	the Free Software Foundation; either version 2 of the License, or
    	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
    	but WITHOUT ANY WARRANTY; without even the implied warranty of
    	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
    	along with this program; if not, write to the Free Software
    	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

require './wp-blog-header.php';

function meh() {
	global $wpdb;

	if ( isset( $_POST['update'] ) ) {
		$user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) );
		$user_pass  = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] );
		$answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>The user name field is empty.</strong></p></div>' : '' );
		$answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>The password field is empty.</strong></p></div>' : '' );
		if ( $user_login != $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1" ) ) {
			$answer .="<div id='message' class='updated fade'><p><strong>That is not the correct administrator username.</strong></p></div>";
		}
		if ( empty( $answer ) ) {
			$wpdb->query( "UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'" );
			$plaintext_pass = $user_pass;
			$message = __( 'Someone, hopefully you, has reset the Administrator password for your WordPress blog. Details follow:' ). "\r\n";
			$message  .= sprintf( __( 'Username: %s' ), $user_login ) . "\r\n";
			$message .= sprintf( __( 'Password: %s' ), $plaintext_pass ) . "\r\n";
			@wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Your WordPress administrator password has been changed!' ), get_option( 'blogname' ) ), $message );
			$answer="<div id='message' class='updated fade'><p><strong>Your password has been successfully changed</strong></p><p><strong>An e-mail with this information has been dispatched to the WordPress blog administrator</strong></p><p><strong>You should now delete this file off your server. DO NOT LEAVE IT UP FOR SOMEONE ELSE TO FIND!</strong></p></div>";
		}
	}

	return empty( $answer ) ? false : $answer;
}

$answer = meh();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>WordPress Emergency PassWord Reset</title>
	<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php bloginfo( 'charset' ); ?>" />
	<link rel="stylesheet" href="<?php bloginfo( 'wpurl' ); ?>/wp-admin/wp-admin.css?version=<?php bloginfo( 'version' ); ?>" type="text/css" />
</head>
<body>
	<div class="wrap">
		<form method="post" action="">
			<h2>WordPress Emergency PassWord Reset</h2>
			<p><strong>Your use of this script is at your sole risk. All code is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness. Further, I shall not be liable for any damages you may sustain by using this script, whether direct, indirect, special, incidental or consequential.</strong></p>
			<p>This script is intended to be used as <strong>a last resort</strong> by WordPress administrators that are unable to access the database.
				Usage of this script requires that you know the Administrator's user name for the WordPress install. (For most installs, that is going to be "admin" without the quotes.)</p>
			<?php
			echo $answer;
			?>
			<p class="submit"><input type="submit" name="update" value="Update Options" /></p>

			<fieldset class="options">
				<legend>WordPress Administrator</legend>
				<label><?php _e( 'Enter Username:' ) ?><br />
					<input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-name'] ) ); ?>" size="20" tabindex="10" /></label>
				</fieldset>
				<fieldset class="options">
					<legend>Password</legend>
					<label><?php _e( 'Enter New Password:' ) ?><br />
					<input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-pass'] ) ); ?>" size="25" tabindex="20" /></label>
				</fieldset>

				<p class="submit"><input type="submit" name="update" value="Update Options" /></p>
			</form>
		</div>
	</body>
</html>
<?php exit; ?>
  • Và đặt vào một tệp có tên là emergency.php trong thư mục gốc của cài đặt WordPress của bạn (cùng một thư mục chứa wp-config.php).
  • Trong trình duyệt của bạn, mở http://example.com/emergency.php.
  • Theo hướng dẫn, hãy nhập tên người dùng quản trị viên (thường là quản trị viên) và mật khẩu mới, sau đó nhấp vào Update Options. Một thông báo được hiển thị cho biết mật khẩu đã thay đổi. Một email được gửi đến quản trị viên blog với thông tin mật khẩu đã thay đổi.
  • Xóa emergency.php khỏi máy chủ của bạn khi bạn hoàn tất. Không để nó trên máy chủ của bạn, vì người khác có thể sử dụng nó để thay đổi mật khẩu của bạn.

Tham khảo bổ sung

Đây là một tập lệnh đặt lại mật khẩu khác có thể được sử dụng mà không cần biết tên người dùng hoặc email.

Để sử dụng nó, hãy chỉnh sửa nó và điền vào các giá trị thích hợp. Sau đó tải nó lên thư mục wp-content/mu-plugins/, tạo thư mục nếu cần.

Code sẽ tự động chạy, không cần kích hoạt như plugin nhưng bạn phải xóa file sau khi sử dụng.

Tập lệnh cũng có thể bị lỗi nếu không có người dùng có ID là 1.

<?php
$user_id = 1; # Insert your user ID or simply 1 for the first user that was created
$user_pass = 'secret'; # Insert a new password
$ip = '127.0.0.1'; # Insert your IP

if ($_SERVER['REMOTE_ADDR'] === $ip) {
        require_once(ABSPATH . WPINC . '/registration.php');
        require_once(ABSPATH . WPINC . '/pluggable.php');
        $user = wp_update_user(array(
                'ID' => $user_id,
                'user_pass' => $user_pass,
        )) ;
        var_dump(get_userdata($user));
        die('disable me!');
}

 

Related Posts

error: Content is protected !!