Upraveno 5 prosince, 2023 22:51
Uživatele WordPressu obvykle vytvoříte pouze dvěma způsoby. Ten první je klasický, z prostředí administrace a druhý, pro zkušenější uživatele přímo v databázi. Pojďme se ale podívat na třetí způsob, kterým vytvoříte uživatele WordPressu velmi pohodlně. V tomto článku si totiž ukážeme, jak vytvořit admin uživatele WordPressu pomocí skriptu na FTP. Princip bude jednoduchý. Vytvoříme PHP soubor, který jednoduše nahrajeme na FTP webu. Následně jej zavoláme v prohlížeči a začne se dít magie.
Skript vytvoří uživatele s administrátorskými právy, ukáže Vám jeho heslo a následně, jako v nějakém akčním filmu se sám z FTP smaže. Pojďme na to.
Jak vytvořit admin uživatele WordPressu pomocí skriptu na FTP
Co vlastně všechno budete potřebovat? Není toho mnoho. Stačí Vám obyčejný textový editor a přístup na FTP webu. V tomto konkrétním případě je úplně jedno, zda se na FTP dostanete pomocí FTP klienta, nebo pomocí nějaké webFTP služby od poskytovatele webhostingu.
Následující skript provádí tyto akce:
- vytvoří nového uživatele WordPressu s uživatelským jménem wpuser
- nastaví mu práva administrátora
- ukáže Vám heslo tohoto uživatele, které automaticky vygeneruje
- sám se na FTP smaže, aby zahladil stopy
K čemu takový skript slouží? Kupříkladu pro situaci, kdy jste zapomněli heslo, nefunguje Vám kontaktní e-mail uživatele a neumíte pracovat s databází. Druhá možnost může nastat tehdy, kdy máte přístup pouze k FTP a chcete se dostat do WordPressu, aniž byste znali přístupové údaje. Jistě, to se dá udělat i jinak. Přes FTP si zjistíte přístupy do databáze, přihlásíte se do phpMyAdmina a změníte hash. Tohle je ale trochu snazší a rychlejší způsob, aniž byste měnili původní heslo správce webu.
Skript pro vytvoření uživatele pomocí FTP
$dash_len) {
$dash_str .= substr($password, 0, $dash_len) . '-';
$password = substr($password, $dash_len);
}
$dash_str .= $password;
return $dash_str;
}
$form = " ";
// Take a array and get random index, same function of array_rand, only diference is
// intent use secure random algoritn on fail use mersene twistter, and on fail use default array_rand
function tweak_array_rand($array){
if (function_exists('random_int')) {
return random_int(0, count($array) - 1);
} elseif(function_exists('mt_rand')) {
return mt_rand(0, count($array) - 1);
} else {
return array_rand($array);
}
}
echo "";
// ----------------------------------------------------
// CONFIG VARIABLES
// Make sure that you set these before running the file.
$newusername = 'wpuser';
$newpassword = generateStrongPassword(24);
$newemail = 'adresa@domena.koncovka';
// ----------------------------------------------------
// This is just a security precaution, to make sure the above "Config Variables"
// have been changed from their default values.
if ( $newpassword != 'YOURPASSWORD' && $newemail != 'YOUREMAIL@TEST.com' && $newusername !='YOURUSERNAME' ) {
// Check that user doesn't already exist
if ( !username_exists($newusername) && !email_exists($newemail) )
{
// Create user and set role to administrator
$user_id = wp_create_user( $newusername, $newpassword, $newemail);
if ( is_int($user_id) )
{
$wp_user_object = new WP_User($user_id);
$wp_user_object->set_role('administrator');
if(is_multisite()) {
grant_super_admin($user_id);
$sites = get_sites();
$user_info = [
"capabilities" => get_user_meta($user_id, "wp_capabilities", true),
"user_level" => get_user_meta($user_id, "wp_user_level", true)
];
foreach($sites as $site) {
update_user_meta($user_id, "wp_" . $site->blog_id . "_capabilities", $user_info['capabilities']);
update_user_meta($user_id, "wp_" . $site->blog_id . "_user_level", $user_info['user_level']);
}
}
echo 'Účet wpuser byl úspěšně vytvořen.
';
echo "Uživatelské jméno
" . $newusername . "
E-mailová adresa" . $newemail . "
";
echo "Heslo" . $newpassword . "";
echo "Aktuální soubor byl smazán.";
unlink(__FILE__);
}
else {
echo 'Během vytváření uživatele wpuser došlo k chybě.';
echo $form;
}
} else {
echo 'Administrátorský účet wpuser již existuje!';
echo $form;
}
}
else {
echo 'Vypadá to, že nebylo vyplněno heslo, uživatelské jméno nebo e-mail. Zkuste to znovu.';
echo $form;
}
if(isset($_POST['removefile'])) {
unlink(__FILE__);
echo "Aktuální soubor byl smazán.";
}
echo "";
Co mám se skriptem dělat?
Nejprve si vytvořte nový textový dokument. Do něj zkopírujte výše uvedený PHP kód. Textový soubor uložte a pojmenujte jej user.php. Všimněte si, že jste ve jméně souboru změnili koncovku z .txt na .php. To je v pořádku. Tento soubor nahrajte do stejné složky na FTP, kde máte nahraný WordPress. Poté soubor spusťte. Napište do prohlížeče URL adresu souboru. To je v tomto případě vase-domena.koncovka/user.php.
Skript se spustí, vytvoří ve WordPressu uživatele s admin právy, ukáže Vám přístupy a smaže se. Nyní můžete využít tyto přístupy k tomu, abyste se přihlásili.
Jak vytvořit admin uživatele WordPressu pomocí skriptu na FTP
Závěr
Skript používejte uváženě. Primární cíl jeho funkce není v tom, abyste někomu bez jeho vědomí nabourali jeho redakční systém. Slouží v podstatě jako nějaký nouzový systém pro zapomenuté heslo, který můžete alternativně použít.
Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.
Byl pro Vás tento článek užitečný?
Klikni na počet hvězd pro hlasování.
Průměrné hodnocení. 0 / 5. Počet hlasování: 0
Zatím nehodnoceno! Buďte první
Je mi líto, že pro Vás nebyl článek užitečný.
Jak mohu vylepšit článek?
Řekněte mi, jak jej mohu zlepšit.
Odebírejte Newsletter
Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.