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.

 

Baca juga artikel ini :

  1. Menambah Kategori Baru di Opencart 1.5.4
  2. Merubah Template WordPress
  3. 4 Plugin WordPress Foto Gallery Keren
  4. Error Update WordPress Bisa jadi Space Hosting Penuh
  5. Setting WordPress Permalink di Server Hosting Directadmin