با ایجاد محدودیت ورود به مدیریت وردپرس میتوان دسترسی آندسته از افرادی را که هدفشان هک سایت یا اقدامات خرابکارانه است را به سایت محدود کرد و بدینشکل امنیت سایت خود را بالا برد که اینکار بهصورت دستی و با استفاده از افزونه Limit Login Attempts امکانپذیر است؛ ازجمله قابلیتهای خوب اینافزونه این است که اینامکان را برای شما فراهم میآورد تا نام کاربری ایندسته از افراد را در لیست سیاه خود قرار دهید تا دیگر قادر به فعالیت در سایت شما نباشند.
علت ایجاد محدودیت برای ورود به وردپرس
وردپرس بهعنوان یکی از معروفترین ابزارهای طراحی سایت و وبلاگ شناخته میشود. اینسیستم محافظت داخلی در برابر حملات هکرها را ندارد و بهصورت پیشفرض، امکان امتحان تعداد نامحدودی از رمز را برای شما فراهم میآورد که اینموضوع باعث شده است تا هکرها راحتتر به وبسایت شما دسترسی پیدا کنند.
روشی که هکرها برای ورود به قسمت مدیریت وردپرس استفاده میکنند، بروت فورس است در اینشیوه آنها به دنبال این هستند که با حدس نام کاربری و رمزهای عبور، وارد وردپرس سایت شما شوند؛ پس یکلیست بزرگی از پسوردها را با اسستفاده از نرم افزارهای خاص آزمایش میکنند تا اینکه یکی از آن پسوردها درست از آب در میآید و اکانت شما هک میشود.
در اینجور مواقع با استفاده از افزونه Limit Login Attempts میتوانیم باعث اعمال محدودیت ورود به پیشخوان وردپرس شویم و از ورود آنها جلوگیری کنیم. ما در اینجا نحوه محدودکردن ورود به پیشخوان وردپرس را به شما گامبهگام آموزش میدهیم؛ پس ما را تا انتهای اینمطالب همراهی کنید.
ایجاد محدودیت ورود به پیشخوان وردپرس بهصورت دستی
درصورتیکه نخواهید از افزونهها به هر دلیلی استفاده کنید، میتوان ایجاد محدودیت ورود به پیشخوان وردپرس را بهصورت دستی اعمال کرد که قبل از هرکاری بهتر است از سایت وردپرس خود یکبکآپ کامل بگیرید؛ سپس مراحل ذکر شده در متن زیر را گامبهگام انجام دهید.
1ـ پس از دریافت آخرین نسخه پشتیبان وردپرس خود، وارد کنترل پنل وبسایت خود شوید و پوشه public_html را باز کنید.
2ـ سپس، به پوشه wp-content رفته و فایل function.php را جستجو کنید با راست کلیک کردن روی اینفایل گزینه edit را گزینش کنید. وقتیکه اینصفحه باز شد کد زیر را به فایل خود اضافه کنید.
[code language=”php”]function check_attempted_login( $user, $username, $password )
{
if ( get_transient( ‘attempted_login’ ) )
{
$datas = get_transient( ‘attempted_login’ );
if ( $datas[‘tried’] >= 3 ) {
$until = get_option( ‘_transient_timeout_’ . ‘attempted_login’ );
$time = time_to_go( $until );
return new WP_Error( ‘too_many_tried’, sprintf( __( ‘<strong>ERROR</strong>: You have reached authentication limit, you will be able to try again in %1$s.’ ) , $time ) );
}
}
return $user;
}
add_filter( ‘authenticate’, ‘check_attempted_login’, 30, 3 );
function login_failed( $username ) {
if ( get_transient( ‘attempted_login’ ) ) {
$datas = get_transient( ‘attempted_login’ );
$datas[‘tried’]++;
if ( $datas[‘tried’] <= 3 )
set_transient( ‘attempted_login’, $datas , 300 );
} else {
$datas = array(
‘tried’ => 1
);
set_transient( ‘attempted_login’, $datas , 300 );
}
}
add_action( ‘wp_login_failed’, ‘login_failed’, 10, 1 );
function time_to_go($timestamp)
{
// converting the mysql timestamp to php time
$periods = array(
“second”,
“minute”,
“hour”,
“day”,
“week”,
“month”,
“year”
);
$lengths = array(
“60”,
“60”,
“24”,
“7”,
“4.35”,
“12”
);
$current_timestamp = time();
$difference = abs($current_timestamp – $timestamp);
for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) – 1; $i ++) {
$difference /= $lengths[$i];
}
$difference = round($difference);
if (isset($difference)) {
if ($difference != 1)
$periods[$i] .= “s”; $output = “$difference $periods[$i]”;[/code]
3ـ با استفاده از اینکد کاربرانی که 3 بار تلاش ناموفق برای ورود داشته باشند قفل میشوند و در آخر کار بایستی گزینه «تغییرات» را ذخیره کرد.
4ـ با افزودن کد زیر، فقط ادمینها امکان دسترسی به داشبورد وبسایت وردپرس شما را دارند و کاربران دیگر پس از ورود به سایت، به صفحه اصلی هدایت میشوند.
[code language=”php”]add_action( ‘init’, ‘blockusers_init’ );
function blockusers_init()
{
if ( is_admin() && ! current_user_can( ‘administrator’ ) && ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) )
{
wp_redirect( home_url() );
exit;
}
} [/code]
ایجاد محدودیت در دسترسی به پیشخوان وردپرس با افزونه Limit Login Attempts Reloaded
با استفاده از افزونه Limit Login Attempts Reloaded که در مخزن وردپرس قرار دارد میتوان اقدام به محدودیت در دسترسی به پیشخوان وردپرس سایت خود کرد.
شما به راحتی میتوانید این افزونه وردپرس را از مخزن وردپرس دانلود و نصب کنید، چراکه این افزونه به صورت رایگان ارائه میشود. پس از نصب باید به تنظیمات افزونه رفته و برخی از تنظیمات را تغییر دهید.
تنظمیات تحریم افزونه
- بخش تحریمها: در بخش “تنظیمات >> تحریم” میتوان کاربرانی را که تحریم شدهاند را مدیریت کرد.
- اجازه retries: با اینبخش میتوان تعداد دفعات تلاش برای ورود به سایت را مشخص کرد تا کاربری که قصد ورود به سایتتان را دارد بتواند تا چندبار، اقدام به واردکردن اطلاعات ورود به پیشخوان وردپرس در سایت شما کند. بعد از اینکه اینکه تعداد به حد نصاب تعیین شده توسط شما برسد دیگر کاربر، قادر به وارد کردن اطلاعات ورود در سایت نخواهد بود حتی اگر نام کاربری و رمز را درست وارد کند.
- دقیقه تحریم: گزینه «دقیقه تحریم» اینامکان را به شما میدهد تا طی مدت تعیین شده کاربری را از امکان ورود به پیشخوان وردپرس بیبهره کنید. بعد از گذشت اینمدت زمان، امکان ورود به سایت برای کاربر دوباره امکانپذیر خواهد بود.
- افزایش زمان تحریم برای بن شدگان و ساعت: با استفاده از اینگزینه میتوان آندسته از افرادی را که هدفشان مزاحمت و خرابکاری در سایت است را برای مدت زمان بیشتری از ورود به سایت محروم کرد؛ پس میتوان تعداد بن شدن هر کاربر را در طول مدت زمانی که در سایت فعالیت میکند، در اینجا تعیین کرد و سپس در فیلد «ساعت»، مدت زمان بیشتری را برای بن شدن ایندسته از کاربران درنظر گرفت.
- ریستکردن ساعت بازنشانیها: در بخش« ریستکردن ساعت بازنشانیها» هم میتوان زمان موردنظر خود را برای شروع بازنشانی تنظیمات مشخص کرد.
- گزارش تحریم: با اینافزونه در اینبخش، امکان اطلاع از محدودیتهایی که آنها را انجام دادید و جزییات آنها، بهوسیله ایمیل یا رویت در پیشخوان وردپرس وجود دارد.
- رایانامه به مدیر تحریم: پس برای اینکار بایستی تیک گزینه «رایانامه به مدیر» را فعال کرده و سپس در فیلد مقابل آن تعداد موردنظر برای محدودیت را وارد سازید تا در هر بار تعدادی که آنها را تعیین کردید، جزییات محدودیت بر روی اینتعداد کاربر بهوسیله ایمیل برای شما فرستاده شود.
- لیست سیاه و سفید در افزونه: یکی دیگر از قابلیتهای اینافزونه تعریف لیست سفید و لیست سیاه است که با استفاده از اینقابلیت میتوان بهوسیله نام کاربری یا آیپی کاربران آنها را در لیست سفید یا لیست سیاه قرار دارد تا برای ایندسته از کاربران امکان اعمال محدودیت برداشته شود یا اینکه برای همیشه آنها در محدودیت قرار داشته باشند.
- لیست سفید در محدودیت ورود به پیشخوان وردپرس: با استفاده از لیست سفید میتوان امکان محدودکردن بر اساس آیپی یا نام کاربری را برای کاربران مدنظرتان بردارید تا آنها هیچ وقت محدودیتی در ورود به پیشخوان وردپرس نداشته باشند و بهراحتی به وبسایت شما دسترسی داشته باشند.
- لیست سیاه در محدودیت ورود به پیشخوان وردپرس: با استفاده از لیست سیاه میتوان آیپی و نام کاربری آندسته از کاربرانی را که میخواهید بهصورت همیشگی جزء آن دسته از کاربرانی باشند که امکان ورود به پیشخوان وردپرس را نداشته باشند را میتوان در اینبخش وارد کرد. درصورتیکه کاربرانی که در اینلیست نام آنها را وارد میکنید بیشتر از یکنفر هستند هر کدام از آنها را در یکخط وارد کنید. در اینصورت تا وقتیکه ایندسته از کاربران در اینلیست قرار داشته باشند نمیتوانند وارد پیشخوان وردپرس سایت شما شوند و برای خارج کردن آنها از اینلیست باید نام کاربری یا آیپی آنها را از لیست سیاه برداشت؛ پس از انجام اینکار، تنظیمات خود را «ذخیره» کنید.
به همین راحتی میتوان اقدام به ایجاد محدودکردن ورود به پیشخوان وردپرس کرد. البته باید گفت که بهصورت کدنویسی هم میتوان اینکار را انجام داد، اما استفاده از افزونه یکروش بسیار راحتتر است؛ پس بعد از نصب افزونه بر اساس تنظیمات ذکر شده در اینجا، میتوان افزونه را کانفیگ کرد.
بعد از انجام مراحل ذکر شده، برای اطمینان از عملکرد صحیح تغییرات ایجاد شده وارد منوی « کاربران» در پیشخوان وردپرس شوید و یککاربر، برای تست افزونه وارد کنید، حالا اگر با نام کاربری کاربری که برای ورود او محدودیت اعمال کردید یا یکرمز نادرست بخواهید وارد سایت شوید، بعد از رسیدن به حد نصاب محدودیتهای تعیین شده، پیامی به شما نشان داده میشود که نشانگر این است که بیشتر از حد مجاز تلاش کردید، وارد سایت شوید.
ویژگیهای افزونه Limit Login Attempts
این افزونه وردپرس با قابلیتهای بسیار متعددی که دارد توانسته است نظر وبمستران را به خود جلب کند. علت محبوبیت اینافزونه را در متن زیر معرفی میکنیم:
- رایگان و فارسی بودن پنل تنظیمات اینافزونه
- افزایش امنیت یکوبسایت
- تجانسداشتن با فایروال وبسایت
- محافظتکردن از درگاه XMLRPC
- حفاظتکردن از صفحه ورود به سیستم ووکامرس
اگرچه وردپرس یکپلتفرم امن است اما میتواند مورد حمله هکرهایی مانند بروت فورس شود که هدف اصلی اینهکرها دسترسی به سایت شما است؛ بنابراین برای جلوگیری از ورود آنها به سایتتان ما شیوههای محدودکردن ورود به پیشخوان وردپرس را با افزونه Limit Login Attempts Reloaded و بهصورت دستی به شما آموزش دادیم؛ پس همانطورکه متوجه شدید میتوان در هر زمانی پنل مدیریت وردپرس خود را مدیریت کرده و اجازه دسترسی و ورود به وردپرس را برای بعضی از کاربران محدود کرد.
فعلی
آموزش ایجاد محدودیت در ورود به مدیریت وردپرس
نویسنده سینا عباسی
سایر مقالات نویسندهسینا عباسی، مدیر سئو ژاکت، بیش از 7 ساله که بهصورت تخصصی در حوزه سئو فعالیت میکند. وی مدرس و مشاور سئوی کسب و کارهای اینترنتی میباشد. سینا عباسی با تخصص و تجربهای که در حوزه سئو دارد، نگاه شما را به آموزش سئو در دنیای دیجیتال مارکتینگ تغییر میدهد.