Script Reset Role & Menambah Admin Baru di WordPress

Menjengkelkan jika ternyata data user website wordpress anda terhapus sengaja atau tidak sengaja atau mungkin website wordpress anda sempat terkena deface hacker disebabkan anda menggunakan themes atau plugin yang memiliki celah keamanan kemudian hacker tersebut menghapus data user website anda. hmnn…

Bagaimana solusi atas masalah tersebut? solusinya tentu anda harus membuat user baru untuk dapat login kembali ke dashboard website wordpress anda. Tapi Caranya?

Script Reset Password WordPress dengan menambah Admin Baru

Silahkan gunakan script reset password wordpress dibawah ini

<?php

/**
* @author PusatHosting.Com
* @copyright 2012
* Menciptakan user baru Admin Level untuk WordPress
*/
date_default_timezone_set('Asia/Jakarta');
/* username admin wordpress */
$username = 'myadmin';
/* email admin wordpress */
$email = 'adminwp@pusathosting.com';
/* Nickname admin wordpress */
$nickname = 'Admin'; 
/* password baru untuk user wordpress */
$new_password = 'surabaya45X';

include "wp-config.php";
$conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
mysql_select_db(DB_NAME,$conn);

/**
 * fungsi query
 * @param $sql string sql query
 * @return result dari mysql_query
 **/
function query($sql){
    GLOBAL $conn,$query_log;
    echo $sql.'<br>';        
    $rs = mysql_query($sql) or die(mysql_error());
    return $rs;
}
function add_newuser(){
    GLOBAL $conn,$table_prefix,$username,$new_password,$nickname,$email;
    $new_password = md5($new_password);    
    $sql = "INSERT INTO ".$table_prefix."users 
        (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_registered`) 
        VALUES 
        ('".$username."', '".$new_password."', '".$nicename."', '".$email."', '".date('Y-m-d h:i:s')."')";
    if(!query($sql)){
        die('Insert user error');
    }return true;
}
function reset_pass(){
    GLOBAL $conn,$table_prefix,$username,$new_password;
    $new_password = md5($new_password);
    $sql = "UPDATE ".$table_prefix."users SET user_pass='".$new_password."' WHERE user_login='".$username."'";
    if(!query($sql)){
        die('Reset password error');        
    }return true;

}

function insert_usermeta($user_id,$meta_key,$meta_value){
        GLOBAL $conn,$table_prefix;
        $sql = "INSERT INTO ".$table_prefix."usermeta 
                (user_id, meta_key, meta_value) 
                VALUES 
                ('".$user_id."', '".$meta_key."','".$meta_value."')";

        if(!query($sql)){
            die('Insert '.$meta_key.' error');
        }return true;
}

function delete_user($user_id){
     GLOBAL $conn,$table_prefix,$username,$new_password,$nickname,$email;

     $sql = "DELETE FROM ".$table_prefix."usermeta WHERE user_id='".$user_id."'";
     if(!query($sql)){
        die('Delete usermeta error');        
     }
    $sql = "DELETE FROM ".$table_prefix."users WHERE user_login='".$user_id."'";
    if(!query($sql)){
        die('delete user error');
    }return true;

}

/* Mencari username apakah sudah ada sebelumnya atau tidak */
$rs = query("SELECT * FROM ".$table_prefix."users WHERE user_login='".$username."'");
if(!empty($_GET['u'])){
    delete_user($_GET['u']);
}else if(mysql_num_rows($rs)>0){
    /* jika user ditemukan maka ubah passwordnya */
    reset_pass();
    $row = mysql_fetch_assoc($rs);
    $user_id = $row['ID'];
}else{
    /* jika user tidak ditemukan maka tambahkan user */    
    add_newuser();    
    $user_id = mysql_insert_id();
    /**
     * Reset usermeta
     * */
    if($user_id!=''){ 
         $sql = "DELETE FROM ".$table_prefix."usermeta WHERE user_id='".$user_id."'";
         if(!query($sql)){
              die('Delete usermeta error');        
         }else{        
              insert_usermeta($user_id,$table_prefix.'capabilities','a:1:{s:13:"administrator";b:1;}');
              insert_usermeta($user_id,$table_prefix.'user_level','10');
         }
    }else{
        die('user_id null'); 
    }

}
echo 'Done';
?>

Tahapan Reset Password WordPress

 

  1. Masuk ke Directadmin -> File manager -> masuk folder public_html kemudian create file baru reset-admin-role.php
  2. Copy script diatas dan paste pada file tersebut kemudian klik save.
  3. Akses file reset-admin-role.php melalui website anda misalnya http://www.namadomainanda.com/reset-admin-role.php
  4. Selesai, anda sudah dapt login kembali dengan username dan passsword yang telah didefinisikan pada script yaitu username = myadmin dan password = password-baru-anda.

Dengan menggunakan script diatas saya jamin waktu anda tidak akan terbuang sia-sia dengan melakukan explorasi tentang bagaimana cara menambahkan user secara manual. Masih Bingung? tanya saja langsung ke portal tanya jawab Tanya Pusat Hosting

Terima kasih dan semoga bermanfaat.

 

Share your vote!


Do you like this post?
  • Fascinated
  • Happy
  • Sad
  • Angry
  • Bored
  • Afraid

Subscribe / Langganan Artikel

Nama

Email Address

Dapatkan Info terbaru via Feedburner

Masukan email anda untuk mendapatkan artikel terbaru:

About Hadi Suwantoro

Sehari-hari ya bagian Monitoring, Review, Pembuat dokumentasi, Penulis tutorial dan Googling. Circle me

3 thoughts on “Script Reset Role & Menambah Admin Baru di WordPress

  1. Athnas

    hari ini saya mengalami masalah akun admin wp saya terhapus,,, pusing karena tidak bisa login,,, tapi search di google eh nemu solusinya di artikel web ini… terima kasih, benar-benar membantu, sekarang web saya sudah bisa login lagi….

Leave a Reply

Your email address will not be published. Required fields are marked *