ایجاد محدود کردن تعداد درخواست ورود در وردپرس
بیش از 70 درصد از سایت های وردپرس مستعد حملات هکرها هستند. اگر شما قوانین امنیتی وردپرس را دنبال کنید، وب سایت شما می تواند در میان 30 درصد دیگر باشد.یکی از اقداماتی که می توانید انجام دهید، اعمال محدودیت در ورود به مدیریت وردپرس است.
وردپرس به خودی خود یک پلت فرم امن است، اما این موضوع باعث نمی شود که سایت شما در برابر نفوذ هکرها در امان بماند. یکی از رایجترین حملات هکری حملات بروت فورس است که سعی میکنند با استفاده از ترکیبهای مختلف نام کاربری و رمز عبور، از طریق صفحه ورود، به سیستم شما وارد شوند. برای جلوگیری از این حملات، شما می توانید با اعمال محدود کردن تعداد درخواست ورود در وردپرس، تلاشهای ورود از یک آدرس IP خاص را در مدت زمان مشخصی محدود کنید. در این مقاله با آموزش روش های ایجاد محدودیت در ورود به مدیریت وردپرس همراه ما باشید.
ایجاد محدودیت در ورود به مدیریت وردپرس
یکی از روش های حفظ امنیت وبسایت های وردپرس استفاده از افزونه امنیت وردپرس است. یکی از سادهترین راه ها برای ایجاد محدودیت در ورود به پنل مدیریت وردپرس، استفاده از پلاگین «Limit Login Attempts Reloaded» است. این افزونه با شناسایی رباتها، قفل کردن کاربران پس از چندین بار تلاش ناموفق، مسدود کردن موقت آدرسهای IP و اطلاعرسانی در صورت قفل شدن کاربر به امنیت وب سایت شما میکند.
ما از این افزونه به دلایل زیر استفاده خواهیم کرد:
- به طور فعال در بیش از 2 میلیون وب سایت استفاده می شود.
- این افزونه بهروزرسانیهای منظم دریافت میکند.
- با آخرین نسخه وردپرس تست شده است.
- دارای امتیاز 4.9/5 ستاره است.
- کاملا رایگان است.
نصب افزونه Limit Login Attempts Reloaded
برای شروع کار با افزونه Limit Login Attempts Reloaded، در پیشخوان وردپرس به افزونه ها >> افزودن جدید بروید. عبارت Limit Login Attempts Reloaded را جستجو کنید. حالا کافیست دکمه نصب افزونه را بزنید. برای آشنایی با روش های نصب افزونه، مقاله چگونه افزونه وردپرس را نصب کنیم؟ را مطالعه کنید.
پس از اتمام نصب، روی “فعال سازی” کلیک کنید. پس از فعالسای افزونه در پیشخوان نمایش داده می شود.
پیکربندی افزونه Limit Login Attempts Reloaded
در مرحله بعدی از محدود کردن تعداد درخواست ورود در وردپرس باید برای افزونه پیکربندی انجام دهید. کافیست روی نام افزونه در پیشخوان کلیک کنید تا وارد صفحه تنظیمات افزونه شوید.
در سربرگ تنظیمات، میتوانید یکی بودن با GDPR را غیرفعال/فعال کنید (برای حفاظت از دادهها). همچنین، می توانید ایمیلی را که اعلان ها پس از قفل شدن به آن ارسال می شود را وارد کنید.
در بخش تنظیمات برنامه، تعیین کنید که قبل از قفل شدن کاربر، چند بار تلاش برای ورود به سیستم مجاز است. همچنین می توانید تعیین کنید که کاربر چه مدت قفل شود.
سربرگ گزارش ها، به شما امکان می دهد IP / نام کاربری را که قصد دارید اجازه ورود به آن ها دهید را وارد کنید. هر IP یا نام کاربری که اجازه دهید می توانند بدون قفل شدن وارد سیستم شوند.
از طرف دیگر، هر IP یا نام کاربری که رد کنید برای همیشه قفل می شود. این امر به ویژه زمانی مهم است که متوجه فعالیت های مشکوک از یک آدرس IP می شوید.
پس از انجام تمام تنظیمات، ذخیره تغییرات را بزنید.
محدود کردن تعداد درخواست ورود در وردپرس با افزونه Login LockDown
دومین افزونه ای که می توانید برای محدودیت در ورود به پنل مدیریت وردپرس به سایت خود اضافه کنید، افزونه Login LockDown است. این افزونه رایگان را هم می توانید از مخزن وردپرس دانلود و نصب کنید.
برای انجام تنظیمات در این افزونه باید از طریق پیشخوان وردپرس> تنظیمات> Login LockDown را انتخاب کنید:
وقتی وارد صفحه تنظیمات شدید می توانید محدود کردن تعداد دفعات تلاش برای ورود را انجام دهید.
- قسمت1) مشخص کردن تعداد تلاش برای ورود
- قسمت2) مدت زمان قفل ماندن صفحه پس از هر تلاش ناموفق
- قسمت3) مدت زمان مسدود کردن ip شخص
محدود کردن تعداد درخواست ورود در وردپرس بدون افزونه
اگر نخواهید از افزونه ها استفاده کنید، شما می توانید ایجاد محدودیت در ورود به مدیریت وردپرس را به صورت دستی اعمال کنید. اما، قبل از اینکار بهتر است بک آپ گرفتن از سایت وردپرس را انجام دهید.
هنگامی که آخرین نسخه پشتیبان وردپرس خود را دریافت کردید، وارد کنتل پنل وب سایت خود شوید. پوشه public_html را باز کنید. سپس، به پوشه wp-content بروید و فایل function.php را پیدا کنید. روی فایل کلیک راست کرده و گزینه edit را انتخاب کنید. وقتی باز شد کد زیر را به فایل اضافه کنید.
در این کد، کاربرانی که 3 بار تلاش ناموفق برای ورود داشته باشند (برای مدتی) قفل خواهند شد.
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]”;
در نهایت تغییرات را ذخیره کنید.
یا با اضافه کردن کد زیر فقط ادمین ها می توانند به داشبورد شما دسترسی داشته باشند. همه کاربران دیگر پس از ورود به صفحه اصلی هدایت می شوند.
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; } }
داشبورد مدیریت وردپرس کنترل پنل کل وب سایت است و شما می توانید در آن محتوا، تنظیمات، پلاگین ها، فعالیت و اساساً هر چیز دیگری را که فکرش را بکنید مدیریت می کنید. به عبارت دیگر، داشبورد شما کلید پادشاهی شماست، بنابراین باید در مورد افرادی که به آنها دسترسی می دهید دقت کنید. آیا تابحال محدود کردن تعداد درخواست ورود در وردپرس را انجام داده اید؟ محدودیت ورود به پیشخوان وردپرس توانسته به امنیت وب سایت شما کمک کند؟ تجربیات خود را با ما در میان بگذارید.
این یکی از مواردیست که در ابتدای راه اندازی سایت ممکن است با آن روبرو شوید، ما در دوره آموزش وردپرس به سایر موارد مهمی که باید در نظر داشت و تکنیک های کاربردی پرداختیم که هر متخصص وردپرس بعد از چند سال تجربه به آن پی برده است. شما می توانید در کوتاهترین زمان آنها را یاد بگیرید و وب سایت خود را به طور استاندارد راه اندازی کنید.
ممنون از راهنماییتون
با این کد امتحان کردم اما وقتی سه بار اطلاعات لاگین رو اشتباه میزنی کلا همه کاربرارو محدود میکنه لاگینشون رو