ورود خودکار وردپرس مدیر PHP

پست امروز فقط کوتاه خواهد بود که در آن قصد دارم نحوه نصب یک ویژگی کوچک مرتب را در سایت وردپرس به شما نشان دهم. این در صورت استفاده ایمن می تواند بسیار راحت باشد. این طراحی شده است تا در سایت های وردپرس استفاده شود که یک حساب عمومی برای ورود به سیستم دارند. به عنوان مثال ، در بسیاری از نسخه های نمایشی با وردپرس نویسنده یک حساب “نسخه ی نمایشی” برای مشتریان آینده ایجاد می کند تا وارد سیستم شوند و با محصول خود بازی کنند. در بیشتر مواقع غیر از این ، نویسنده به سادگی اعلامیه ای را نشان می دهد؛


نام کاربری: نسخه ی نمایشی
کلمه عبور: نسخه ی نمایشی

این کمی پیاده است. مطمئناً می توانیم نسخه ی نمایشی را کمی ساده تر و حرفه ای تر به نظر برسیم؟ یک قطعه سریع به شما می دهم تا با این اعتبارنامه به طور خودکار وارد مدیر وردپرس شوید. این یا می تواند به پرونده توابع موضوع شما ریخته شود ، یا می تواند در پرونده پلاگین خود قرار داده و فعال شود.

این می تواند مفید باشد اگر؛

  • سایت شما دارای یک حساب عمومی برای ورود کاربران ناشناس است.
  • شما می خواهید یک لینک ورود به یک کلیک کنید.
  • شما می خواهید با ارائه یک مسیر سریع و کارآمد به نسخه ی نمایشی ، تبدیل نسخه ی نمایشی محصول را به حداکثر برسانید و مراحل مورد نیاز را به حداقل برسانید.
  • شما می خواهید بازدید کنندگان را مستقیماً به مکان مربوط هدایت کنید (به عنوان مثال صفحه تنظیمات).

مهم: هرگز از این کار برای ورود به حساب کاربری با قدرت واقعی استفاده نکنید. به عنوان مثال. حسابهای سرپرست / ویرایشگر و غیره.
از این قطعه با دقت استفاده کنید.

خوب ، بنابراین همانطور که در آموزشهای دیگر انجام داده ام ، ابتدا کد کاملاً حاشیه نویسی را برای شما ارائه خواهم داد تا کسانی که طرفدار خواندن نیستید ، مستقیماً بتوانند با آن آزمایش کنند. قطعه زیر به شکل پلاگین مستقل (اولویت شخصی من) طراحی شده است.

هری بل توماس در گیتوب

/ *
نام پلاگین: ورود خودکار
افزونه URI: http://hbt.io/
نسخه: 1.0.0
نویسنده: هری بل توماس
نویسنده URI: http://hbt.io/
* /

اتولوگ تابع ()
// PARAMETER برای بررسی برای
if ($ _GET ['autologin'] == 'نسخه ی نمایشی') {

// نام حساب کاربری برای ورود به سیستم
$ creds ['user_login'] = 'نسخه ی نمایشی'؛

// حساب حساب برای استفاده
$ creds ['user_password'] = 'نسخه ی نمایشی'؛

$ اعتبار ['به یاد داشته باشید'] = درست؛
$ autologin_user = wp_signon (اعتبار $ ، کاذب)؛

اگر (! is_wp_error ($ autologin_user))
header ("مکان: wp-admin")؛ // مکان برای از بین بردن به
}
}
// اضافه کردن کد فقط قبل از سر و کلاهبرداری ها ارسال می شوند
add_action ('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

این مقادیر می توانند هر آنچه را می خواهید باشد ، اما مراقب باشید از پارامترهای اصلی وردپرس مانند “ورود به سیستم” ، “عمل” و “تغییر مسیر_برای” خودداری کنید. خط 4 جایی است که شما نام کاربری را برای ورود به سیستم مشخص می کنید. قطعه کد سفارشی شده سعی خواهد کرد به حساب “آدم” وارد شوید. همانطور که احتمالاً حدس می زنید ، خط 7 جایی است که رمز عبور را تعیین می کنید. کلمه عبور فوق “pa55word” است. این مقادیر را پر کنید و باید خوب باشید!

حرکات

در حال حاضر قطعه ما فقط برای ورود به سیستم در یک حساب کاربری تنظیم شده است. اگر بخواهیم پیوندهای مختلفی برای حسابهای مختلف بخواهیم ، چه کنیم؟ این کار کاملاً سریع و آسان است و نیازی نیست که شما مجبور شوید دوباره تمام قطعه را دوباره و دوباره تکرار کنید. در زیر به راه حل من نگاهی بیندازید.

/ *
نام پلاگین: ورود خودکار
افزونه URI: http://hbt.io/
توضیحات: پیوندهای ورود خودکار را برای ورود سریع به حسابهای عمومی ایجاد کنید. برای ایجاد تغییرات ، کد منبع را پیکربندی کنید.
نسخه: 1.0.0
نویسنده: هری بل توماس
نویسنده URI: http://hbt.io/
* /

// اعلام انواع جهانی
جهانی login_parameter ، حساب های $؛

// پارامتر برای بررسی برای
// به عنوان مثال. http://exmaple.com/wp-login.php؟param_name=account
$ login_parameter = "اتولوگین"؛

// BLACK کد حساب
$ حساب [] = آرایه (
"کاربر" => "نسخه ی نمایشی",
"عبور" => "نسخه ی نمایشی",
"مکان" => "wp-admin",
)؛
// BLACK کد کپی حساب

// ویرایش و بارگیری مجدد کد را برای حسابهای مختلفی که لازم است تکرار کنید

// تکرار مثال دیگر
$ حساب [] = آرایه (
"کاربر" => "tcwp",
"عبور" => "نسخه ی نمایشی",
"مکان" => "wp-admin /؟ tcwp-sent-me",
)؛


// نمونه ای از موارد خاص درباره این عملکرد را ببینید
اتولوگ تابع ()
جهانی login_parameter ، حساب های $؛
foreach (حساب های $ به عنوان $ حساب) {
if ($ _GET [$ login_parameter] == $ حساب ["کاربر"]) {
$ creds ['user_login'] = $ $ ['user']؛
$ creds ['user_password'] = $ account ['pass']؛
$ اعتبار ['به یاد داشته باشید'] = درست؛
$ autologin_user = wp_signon (اعتبار $ ، کاذب)؛
اگر (! is_wp_error ($ autologin_user))
header ("موقعیت مکانی:". $ account ["مکان"])؛
}
}
}
add_action ('after_setup_theme'، 'autologin')؛

در هسته آن این است که در واقع یکسان است ، اما با یک حلقه foreach cheeky به علاوه آرایه حساب های پرتاب شده نیز هست. آناتومی تابع autologin () یکسان است ، به جز اینکه کد آن برای هر حساب تکرار شده است (با استفاده از حلقه foreach). هم اکنون تمام جزئیات مربوطه در آرایه جهانی ذخیره می شوند. مثال فوق برای 2 حساب تنظیم شده است ، اما قطعه قطعه ما می تواند در حد نیاز ما باشد. برای اضافه کردن حساب های اضافی ، به سادگی موارد دلخواه خود را سفارشی سازی کرده و اضافه کنید.

// BLACK کد حساب
$ حساب [] = آرایه (
"کاربر" => "Anotheraccount",
"عبور" => "public_password",
"مکان" => "http://YouCanPutURLsHereToo.com/",
)؛
// BLACK کد کپی حساب

همچنین توجه خواهید کرد که من نام پارامتر را به یک متغیر جهانی نیز منتقل کرده ام: این کار ضروری نیست ، اما من این کار را کردم تا تمام مقادیر رمزگذاری شده سخت را از تابع 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