Obsah článku:
- Jak vytvořit admin uživatele WordPressu pomocí skriptu na FTP
- Skript pro vytvoření uživatele pomocí FTP
- Co mám se skriptem dělat?
- Jak vytvořit admin uživatele WordPressu pomocí skriptu na FTP
- Závěr
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
<?php
// ADD NEW ADMIN USER TO WORDPRESS
// ----------------------------------
// Put this file in your WordPress root directory and run it from your browser.
// Delete it when you're done.
require_once('wp-blog-header.php');
require_once('wp-includes/registration.php');
function generateStrongPassword($length = 15, $add_dashes = false, $available_sets = 'luds') {
$sets = array();
if(strpos($available_sets, 'l') !== false)
$sets[] = 'abcdefghjkmnpqrstuvwxyz';
if(strpos($available_sets, 'u') !== false)
$sets[] = 'ABCDEFGHJKMNPQRSTUVWXYZ';
if(strpos($available_sets, 'd') !== false)
$sets[] = '23456789';
if(strpos($available_sets, 's') !== false)
$sets[] = '!@#$%&*?';
$all = '';
$password = '';
foreach($sets as $set) {
$password .= $set[tweak_array_rand(str_split($set))];
$all .= $set;
}
$all = str_split($all);
for($i = 0; $i < $length - count($sets); $i++)
$password .= $all[tweak_array_rand($all)];
$password = str_shuffle($password);
if(!$add_dashes)
return $password;
$dash_len = floor(sqrt($length));
$dash_str = '';
while(strlen($password) > $dash_len) {
$dash_str .= substr($password, 0, $dash_len) . '-';
$password = substr($password, $dash_len);
}
$dash_str .= $password;
return $dash_str;
}
$form = "<form action='' method='POST' style='margin: 20px 0 10px 0;'><button type='submit' name='removefile'>Smazat soubor</button></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 "<div class='wpuser'>";
// ----------------------------------------------------
// 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 '<p style="color: #428b42">Účet wpuser byl úspěšně vytvořen.</p><br>';
echo "Uživatelské jméno<br><span class='user-select-all'>" . $newusername . "</span><br>E-mailová adresa<span class='user-select-all'>" . $newemail . "</span><br>";
echo "Heslo<strong class='user-select-all'>" . $newpassword . "</strong>";
echo "<span style='font-weight:bold;color:#FF0000;margin-top:20px;'>Aktuální soubor byl smazán.</span>";
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 "<span style='font-weight:bold;color:#FF0000'>Aktuální soubor byl smazán.</span>";
}
echo "</div>";
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.
Zajímá Vás redakční systém WordPress? Pak Vás určitě bude zajímat i jeho bezpečnost. Pod tlačítkem níže jsem pro Vás připravil kompletního průvodce zabezpečením WordPressu, který máte dostupný zcela zdarma.