Hướng dẫn thêm tài khoản Admin WordPress bằng MySQL và Functions

Cách đây vài hôm, website WordPress của một người bạn của mình bị hack và hacker đã xóa tài khoản admin của cậu ấy trong website. Cậu ấy có hỏi mình cách để login lại và lấy lại quyền quản trị website, Mình có tìm hiểu và đã xử lý xong cho cậu ấy, hôm nay mình chia sẻ lại cho anh em, nếu ai bị tình trạng tương tự thì có thể tự xử lý nhé

Hướng dẫn thêm tài khoản Admin WordPress bằng MySQL
Hướng dẫn thêm tài khoản Admin WordPress bằng MySQL

Cách đơn giản nhất để bạn có thể tự xử lý khi gặp trường hợp này, đơn giản chỉ là thêm một tài khoản user vào website và nâng cấp quyền trở thành admin sau đó delete account thằng hacker. Vậy là xong, dưới đây là chi tiết nhé

Thêm tài khoản admin website WordPress qua database MySQL

Rất may là dù website cậu bạn bị hack nhưng cậu ấy vẫn nắm quyền hosting, nên mình đã xử lý thông qua database, các bước như sau

Bước 1: Login vào hosting và login vào phpMyadmin. Ảnh dưới là tôi sử dụng hosting sử dụng control Cpanel của stablehost

Đăng nhập phpMyadmin
Đăng nhập phpMyadmin của hosting

Nếu trên hosting bạn dùng cho nhiều website (nhiều database) thì trong phpMyadmin hãy lựa chọn chính xác database của website đang bị hack nhé.

Bước 2: Bạn click vào table wp_users (một số trường hợp, các bạn đổi prefix của database nên phần đầu sẽ khác, còn mặc định của wodrepss table là wp_users) tiếp theo bạn click vào Insert như hình dưới

Thêm admin wp bằng database mysql
Click vào table wp_user sau đó click vào Insert

Tiếp theo bạn điền những thông tin như mình chỉ dẫn bên dưới

  • ID: Bạn bỏ trống hệ thống tự động sinh ra ID của bạn
  • user_login: Tên đăng nhập của bạn
  • user_pass: Mật khẩu đăng nhập tài khoản. Lưu ý ở phần password này, bạn khi pass cần tạo ở bên phần Value nhưng ở phần Function bạn cần phải click vào dấu mũi tên rồi chọn MD5
  • user_email: Email của bạn
  • display_name: Tên hiển thị tài khoản của bạn
  • user_registered: Ngày đăng ký tài khoản

Những phần còn lại bạn bỏ trống hoặc ghi thông tin đầy đủ đều được. Sau đó bấm Go

Tao tai khoan admin bang Mysql
Tao tai khoan admin bang Mysql

Bạn sẽ nhìn thấy thông tin tương tự như hình dưới đây, bạn cần phải ghi nhớ số thứ tự tài khoản bạn vừa tạo (là số mình  chỉ mũi tên đó), của mình là số 4

Thêm tài khoản quản trị wordpress qua database
Bạn cần phải nhớ số thứ tự username của bạn

Bước 3: Bạn click vào table wp_usermeta và bấm vào Insert (tương tự bước 2 ý mà) rồi điền thông tin như dưới đây. Những chỗ nào mình không đề cập đến thì các bạn bỏ trống nhé

  • user_id: Bạn điền ID bạn vừa tạo ở bước 2, của tôi là 4
  • meta_key: Bạn điền vào giá trị value là wp_capabilities
  • meta_value: Bạn điền a:1:{s:13:"administrator";s:1:"1";}
Add new admin via database
Thêm tài khoản admin wp với database

Bạn insert thêm một hàng (row) nữa bằng cách bấm Go sau đó Insert hoặc kéo xuống dưới sẽ thấy có sẵn 1 row nữa, bạn chỉ cần điền thông tin như bên dưới

  • user_id: Điền số thứ tự của bạn, của tôi là 4
  • meta_key: Bạn điền wp_user_level
  • meta_value: Bạn điền 10

Bấm Go. Lúc này bạn đã có thể đăng nhập bằng các thông tin user, passwords bạn vừa tạo lúc nãy rồi nhé. Thử xem sao.

Thêm tài khoản admin website WordPress bằng SQL query

Nếu thành thạo thao tác với phpMyadmin thì bạn có thể tạo tài khoản admin cực nhanh bằng câu lệnh sql bên dưới đây thay vì phải insert row như ở trên,

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('tentaikhoan', MD5('pass'), 'firstname lastname', 'email@gmail.com', '0');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');

Bạn cần thay tentaikhoan thành tên username bạn muốn. Pass thành pass bạn muốn, email của bạn. Sau đó bấm GO. Vậy là xong, login bằng thông tin bạn vừa tạo

Thêm tài khoản admin WordPress cực nhanh bằng file functions.php

Như các bạn đã biết thì trong bất cứ theme wordpress nào cũng đều có file functions.php nhiệm vụ để thêm các chức năng cho website của bạn. Dựa vào điểm này, bạn cũng có thể sử dụng nó để tạo thêm tài khoản admin thông qua file functions.php

Xem thêm bài viết liên quan kèm ảnh thumbnai cho WordPress

Cách làm như sau, bạn mở file functions.php của theme bạn đang sử dụng và add vào bên dưới cùng của file functions đoạn code sau:

function tkadmin(){
$user = 'admin2';
$pass = 'matkhaubimat';
$email = 'email-cua-ban@domain.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','tkadmin');

Trong đó bạn thay thế admin2matkhaubimat,email-cua-ban@domain.com thành tên tài khoản đăng nhập, passwords và email của bạn

Kết quả sẽ như hình dưới

Thêm tài khoản admin wp bằng code php
Thêm tài khoản admin wp bằng code php

Sau đó bạn chỉ cần mở website của bạn lên để code trong file functions.php được hoạt động, sau đó bạn có thể đăng nhập vào website của bạn theo thông tin đăng nhập mà bạn đã thiết lập. Sau khi đã đăng nhập được rồi thì bạn xóa code ở file functions.php đi nhé để bảo mật ấy mà.

Kết

Có rất nhiều cách khác nhau để bạn có thể tạo thêm tài khoản admin khi mất quyền quản lý website WordPress của bạn, nhưng trên đây là 3 cách mình thấy đơn giản và nhanh nhất mà bạn có thể thực hiện. Mọi thao tác đều thông qua hosting, FTP. Nếu bạn bị mất những thông tin này thì có thể gửi yêu cầu hỗ trợ từ nhà cung cấp hosting. Chúc bạn thành công.