Автоматичний вхід WordPress адміністратора в PHP

Сьогоднішній пост стане лише коротким, в якому я збираюся показати вам, як встановити акуратну маленьку функцію на свій сайт WordPress. Якщо використовувати безпечно, це може бути дуже зручно. Це розроблено для використання на веб-сайтах WordPress, які пропонують загальний обліковий запис для користувачів. Наприклад, у багатьох демонстраційних версіях WordPress автор створить обліковий запис “демо” для потенційних клієнтів, щоб увійти в систему та грати зі своїм продуктом. Частіше за все автор просто відображатиме повідомлення, що говорить;


USERNAME: демонстрація
ПАРОЛЬ: демонстрація

Це трохи пішохід. Напевно, ми можемо зробити демонстрацію трохи більш обтічною та професійною? Я дам вам швидкий фрагмент для автоматичного входу в систему адміністратора WordPress за допомогою цих облікових даних. Це можна або перенести у файл функцій вашої теми, або можна помістити у власний файл плагіна та активувати.

Це може бути корисно, якщо;

  • На вашому веб-сайті є загальний обліковий запис для анонімних користувачів, на яких можна ввійти.
  • Вам потрібно посилання для входу в один клік.
  • Ви хочете максимально конвертувати демонстрацію продукту, забезпечуючи швидкий та ефективний шлях до демонстрації, мінімізуючи необхідні кроки.
  • Ви хочете направити відвідувачів безпосередньо у відповідне місце (наприклад, сторінка налаштувань).

ВАЖЛИВО: Ніколи не використовуйте це для входу в облікові записи з реальною потужністю; напр. Облікові записи адміністратора / редактора тощо.
Використовуйте цей фрагмент обережно.

Гаразд, як я це робив у своїх інших навчальних посібниках, я спочатку дам вам повний анотований код, щоб ті з вас, хто не є шанувальниками читання, могли прямо експериментувати з ним. Наступний фрагмент оформлений у вигляді окремого плагіна (мої особисті переваги).

Гаррі Белл-Томас на Github

/ *
Назва плагіна: Автоматичний вхід
URI плагіна: http://hbt.io/
Версія: 1.0.0
Автор: Гаррі Белл-Томас
Автор URI: http://hbt.io/
* /

функція autologin () {
// ПАРАМЕТР, ЩО ВИГОВОРИТИ
if ($ _GET ['autologin'] == 'демо') {

// РОЗПИТНИК ПОЛЬЗОВАТЕЛЯ ДЛЯ ВХОДУ В
$ creds ['user_login'] = 'демонстрація';

// ПАРОЛЮВАННЯ РОЗКЛАДУ ВИКОРИСТАННЯ
$ creds ['user_password'] = 'демонстрація';

$ creds ['запам'ятати'] = вірно;
$ autologin_user = wp_signon ($ кредити, помилка);

if (! is_wp_error ($ autologin_user))
заголовок ('Місцезнаходження: wp-admin'); // МІСЦЕ, ЩО ПОВЕРНУТИ
}
}
// ДОБАВИТИ КОД ПРОСТО НАПРАВЛЯЄТЬСЯ ДО ГОЛОДІВ ТА КУКІВ
добавлення ('after_setup_theme', 'autologin');

ВИКОРИСТАННЯ

Це дуже просто у використанні. Ім’я користувача та пароль облікового запису вказані у файлі плагіна (код вище), і для входу в систему потрібно просто зайти; http://example.com/wp-login.php?autologin=demo

Вам слід негайно перенаправитись на wp-admin, увійти до вказаного облікового запису. Якщо облікові дані невірні, ви просто побачите форму входу як звичайну.

ЗАМОВИТИ

Цей фрагмент дуже легко налаштувати. По суті є лише 3 речі, які вам потрібно буде відредагувати, і всі ці зміни вносяться в наступний блок коду (рядки 11-17 повного коду)

if ($ _GET ['login'] == 'dummy_account') {

// РОЗПИТНИК ПОЛЬЗОВАТЕЛЯ ДЛЯ ВХОДУ В
$ creds ['user_login'] = 'манекен';

// ПАРОЛЮВАННЯ РОЗКЛАДУ ВИКОРИСТОВУВАННЯ
$ creds ['user_password'] = 'pa55word';

У першому рядку ви побачите умовну перевірку параметра URL. Вищезгаданий блок коду буде перевірятися на наявність; wp-login.php? login = dummy_account

Ці значення можуть бути будь-якими бажаними, але будьте обережні, щоб уникнути оригінальних параметрів WordPress, таких як “реєстрація”, “дія” та “перенаправлення_до”. У рядку 4 ви вказуєте ім’я користувача, з яким потрібно увійти; налаштований фрагмент коду спробує увійти в обліковий запис “фіктивного”. Як ви, напевно, можете здогадатися, рядок 7 – це місце, де ви вказуєте пароль. Наведений вище пароль – “pa55word”. Заповніть ці значення, і вам слід добре піти!

Розширення

Наразі наш фрагмент налаштований лише для автоматичного входу в один обліковий запис. Що робити, якщо нам потрібні різні посилання для входу для різних облікових записів? Це досить швидко і просто, і не потрібно, щоб ви повторювали весь фрагмент знову і знову. Подивіться нижче на моє рішення.

/ *
Назва плагіна: Автоматичний вхід
URI плагіна: http://hbt.io/
Опис: Створіть зручні посилання для автоматичного входу для швидкого входу в загальні акаунти. Налаштуйте вихідний код для внесення змін.
Версія: 1.0.0
Автор: Гаррі Белл-Томас
Автор URI: http://hbt.io/
* /

// Оголосити глобальні вар
глобальний $ login_параметр, $ рахунки;

// ПАРАМЕТР ДЛЯ ПЕРЕВІРКИ
// напр. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "автологін";

// БЛОК КОДУ РОКУНДУ
$ account [] = масив (
"user" => "демонстрація",
"пройти" => "демонстрація",
"location" => "wp-admin",
);
// БЛОК КОДУ ЗАКОННОГО РАХУНКУ

// РЕДАКТУВАННЯ І ПОВТОРЕННЯ БЛОКУ КОДУ НА ЯКІ МНОГО РАХУНКІВ

// Інший приклад ітерації
$ account [] = масив (
"user" => "tcwp",
"пройти" => "демонстрація",
"location" => "wp-admin /? tcwp-sent-me",
);


// ДИВІТЬСЯ ПОПЕРЕДНІЙ ПРИКЛАД ДЕТАЛІВ ПРО ЦУ ФУНКЦІЮ
функція autologin () {
глобальний $ login_параметр, $ рахунки;
foreach ($ рахунки як $ рахунок) {
if ($ _GET [$ login_parameter] == $ account ['user']) {
$ creds ['user_login'] = $ account ['user'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['запам'ятати'] = вірно;
$ autologin_user = wp_signon ($ кредити, помилка);
if (! is_wp_error ($ autologin_user))
заголовок ('Місцезнаходження:'. $ account ['location']);
}
}
}
добавлення ('after_setup_theme', 'autologin');

По суті це, по суті, те саме, але з чіткою петлею foreach плюс масивом облікових записів, кинутим також. Анатомія функції autologin () ідентична, за винятком того, що її код повторюється (використовуючи цикл foreach) для кожного облікового запису. Усі відповідні деталі тепер зберігаються у глобальному масиві. Наведений вище приклад налаштовано для двох облікових записів, але наш фрагмент може вмістити стільки, скільки нам потрібно. Щоб додати додаткові облікові записи, просто налаштуйте та додайте стільки наступних блоків коду, скільки вам потрібно.

// БЛОК КОДУ РОЗУМУ
$ account [] = масив (
"user" => "anotheraccount",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// БЛОК КОДУ ЗАКОННОГО РАХУНКУ

Ви також помітите, що я перемістив ім’я параметра також у глобальну змінну: це не потрібно, але я це зробив просто, щоб видалити всі твердо закодовані значення з функції autologin ().

ВИСНОВОК

Цей фрагмент є лише простою функцією, розробленою для легкого використання, наприклад, на демонстраційному сайті продукту, але він має потенціал для використання у набагато складніших сценаріях входу. Решта коду має бути досить зрозумілою, але якщо у вас є запитання щодо того, що я зробив, або чому я це зробив, просто залиште коментар нижче або напишіть мені. Якщо у вас є відгуки, пропозиції / ідеї, залиште коментар у розділі коментарів нижче!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map