Login Admin WordPress Otomatis dalam PHP

Posting hari ini hanya akan menjadi singkat di mana saya akan menunjukkan kepada Anda bagaimana menginstal fitur kecil yang rapi di situs WordPress Anda. Ini, jika digunakan dengan aman, bisa sangat nyaman. Ini dirancang untuk digunakan di situs WordPress yang menawarkan akun generik bagi pengguna untuk masuk. Misalnya, pada banyak demo WordPress backend, penulis akan membuat akun ‘demo’ bagi calon pelanggan untuk login dan bermain dengan produknya. Lebih sering daripada tidak, penulis hanya akan menampilkan pemberitahuan yang mengatakan;


NAMA PENGGUNA: demo
KATA SANDI: demo

Ini agak pedestrian. Tentunya kita dapat membuat demo terlihat sedikit lebih ramping dan profesional? Saya akan memberi Anda cuplikan singkat untuk secara otomatis masuk ke admin WordPress dengan kredensial ini. Ini bisa dimasukkan ke file fungsi tema Anda, atau bisa dimasukkan ke file plugin sendiri dan diaktifkan.

Ini bisa bermanfaat jika;

  • Situs Anda memiliki akun generik untuk dapat diakses oleh pengguna anonim.
  • Anda ingin tautan masuk ‘satu klik’.
  • Anda ingin memaksimalkan konversi demo produk dengan memberikan jalur cepat dan efisien ke demo, meminimalkan langkah yang diperlukan.
  • Anda ingin mengarahkan pengunjung langsung ke lokasi yang relevan (mis. Halaman Pengaturan).

PENTING: Jangan pernah gunakan ini untuk masuk ke akun dengan kekuatan nyata; misalnya. Administrator / Editor akun dll.
Gunakan potongan ini dengan hati-hati.

Oke, jadi seperti yang telah saya lakukan di tutorial saya yang lain, saya akan memberi Anda kode lengkap, beranotasi terlebih dahulu sehingga Anda yang bukan penggemar membaca dapat langsung bereksperimen dengannya. Cuplikan berikut telah ditata dalam bentuk plugin mandiri (preferensi pribadi saya).

Harri Bell-Thomas di Github

/ *
Nama Plugin: Login Otomatis
Plugin URI: http://hbt.io/
Versi: 1.0.0
Penulis: Harri Bell-Thomas
Penulis URI: http://hbt.io/
* /

function autologin () {
// PARAMETER UNTUK DIPERIKSA
if ($ _GET ['autologin'] == 'demo') {

// ACCOUNT USERNAME TO LOGIN TO
$ creds ['user_login'] = 'demo';

// ACCOUNT PASSWORD UNTUK MENGGUNAKAN
$ creds ['user_password'] = 'demo';

$ creds ['remember'] = true;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
tajuk ('Lokasi: wp-admin'); // LOKASI UNTUK MENGATUR KE
}
}
// TAMBAHKAN KODE HANYA SEBELUM PEMIMPIN DAN NEGARA DIKIRIM
add_action ('after_setup_theme', 'autologin');

PEMAKAIAN

Ini sangat mudah digunakan. Nama pengguna dan kata sandi akun ditentukan dalam file plugin (kode di atas), dan untuk masuk Anda hanya perlu mengunjungi; http://example.com/wp-login.php?autologin=demo

Anda harus segera dialihkan ke wp-admin, masuk ke akun yang ditentukan. Jika kredensial salah, Anda harus melihat form login seperti biasa.

MENYESUAIKAN

Cuplikan ini sangat mudah untuk dikustomisasi. Pada dasarnya hanya ada 3 hal yang perlu Anda edit, dan semua perubahan ini dibuat di blok kode berikut (baris 11 hingga 17 dari kode lengkap)

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

// ACCOUNT USERNAME TO LOGIN TO
$ creds ['user_login'] = 'dummy';

// ACCOUNT PASSWORD UNTUK MENGGUNAKAN
$ creds ['user_password'] = 'pa55word';

Pada baris pertama Anda akan melihat pemeriksaan bersyarat untuk parameter URL. Blok kode di atas akan memeriksa; wp-login.php? login = dummy_account

Nilai-nilai ini bisa apa saja yang Anda inginkan, tetapi berhati-hatilah untuk menghindari parameter WordPress asli seperti ‘logout’, ‘action’, dan ‘redirect_to’. Baris 4 adalah tempat Anda menentukan nama pengguna untuk login; cuplikan kode khusus akan mencoba masuk ke akun ummy dummy ’. Seperti yang bisa Anda tebak, baris 7 adalah tempat Anda menentukan kata sandi. Kata sandi di atas adalah ‘pa55word’. Isi nilai-nilai ini dan Anda harus melakukannya dengan baik!

EKSTENSI

Saat ini cuplikan kami hanya disiapkan untuk masuk otomatis ke satu akun. Bagaimana jika kita menginginkan tautan masuk yang berbeda untuk akun yang berbeda? Ini cukup cepat dan mudah dilakukan dan tidak mengharuskan Anda mengulangi seluruh cuplikan lagi dan lagi. Lihat solusi saya di bawah ini.

/ *
Nama Plugin: Login Otomatis
Plugin URI: http://hbt.io/
Deskripsi: Membuat tautan masuk otomatis yang mudah digunakan untuk masuk dengan cepat ke akun umum. Konfigurasikan kode sumber untuk membuat perubahan.
Versi: 1.0.0
Penulis: Harri Bell-Thomas
Penulis URI: http://hbt.io/
* /

// Nyatakan global var
global $ login_parameter, $ akun;

// PARAMETER YANG PERLU DIPERIKSA
// mis. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// BLOK KODE AKUN
$ akun [] = array (
"user" => "demo",
"pass" => "demo",
"location" => "wp-admin",
);
// AKHIR BLOK KODE AKUN

// EDIT DAN REPEAT BLOK KODE UNTUK SEBAGAI BANYAK AKUN YANG BUTUHKAN

// Contoh iterasi lainnya
$ akun [] = array (
"user" => "tcwp",
"pass" => "demo",
"location" => "wp-admin /? tcwp-sent-me",
);


// LIHAT CONTOH SEBELUMNYA UNTUK RINCIAN TENTANG FUNGSI INI
function autologin () {
global $ login_parameter, $ akun;
foreach ($ akun sebagai $ akun) {
if ($ _GET [$ login_parameter] == $ akun ['pengguna']) {
$ creds ['user_login'] = $ account ['user'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['remember'] = true;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
tajuk ('Lokasi:'. $ akun ['lokasi']);
}
}
}
add_action ('after_setup_theme', 'autologin');

Pada intinya ini pada dasarnya sama, tetapi dengan loop foreach nakal ditambah array akun dilemparkan juga. Anatomi fungsi autologin () identik, kecuali untuk fakta kodenya diulang (menggunakan foreach loop) untuk setiap akun. Semua detail yang relevan sekarang disimpan dalam array global. Contoh di atas disiapkan untuk 2 akun, tetapi cuplikan kami dapat menampung sebanyak yang kami butuhkan. Untuk menambahkan akun tambahan cukup sesuaikan dan tambahkan sebanyak mungkin blok kode berikut yang Anda butuhkan.

// BLOK KODE AKUN
$ akun [] = array (
"user" => "akun lain",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// AKHIR BLOK KODE AKUN

Anda juga akan melihat bahwa saya telah memindahkan nama parameter ke variabel global juga: ini tidak perlu, tetapi saya melakukannya hanya untuk menghapus semua nilai kode keras dari fungsi autologin ().

KESIMPULAN

Cuplikan ini hanya fungsi sederhana yang dirancang untuk penggunaan yang ringan, seperti pada situs demo produk, tetapi memiliki potensi untuk digunakan untuk skenario login yang jauh lebih kompleks. Sisa kode harus cukup jelas, tetapi jika Anda memiliki pertanyaan tentang apa yang telah saya lakukan, atau mengapa saya melakukannya, tinggalkan komentar di bawah ini atau tweet saya. Jika Anda memiliki umpan balik / saran / ide, tinggalkan komentar di bagian komentar di bawah ini!

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