امنیت وردپرس یکی از مهمترین دغدغههای مدیران سایتها است. یکی از روشهای رایج حمله به سایتهای وردپرسی، حملات Brute Force است که در آن، هکرها سعی میکنند با امتحان کردن ترکیبهای مختلف نام کاربری و رمز عبور، به سایت شما دسترسی پیدا کنند. در این آموزش وردپرس به شما نحوه محدود کردن دفعات ورود ناموفق در وردپرس را خواهیم آموخت.
روشهای محدود کردن دفعات ورود ناموفق در وردپرس

1. استفاده از افزونه برای محدود کردن ورود ناموفق
یکی از سادهترین روشها، استفاده از افزونههایی است که بهطور خودکار تعداد تلاشهای ورود را محدود میکنند.
🔹 پیشنهاد ما: افزونه Limit Login Attempts Reloaded
مراحل نصب و تنظیمات افزونه:
- وارد پیشخوان وردپرس شوید و به مسیر افزونهها → افزودن بروید.
- افزونه Limit Login Attempts Reloaded را جستجو کرده و نصب کنید.
- پس از نصب، افزونه را فعال کنید.
- به تنظیمات → Limit Login Attempts بروید.
- در قسمت “محدودیت تلاشها” تعداد دفعات مجاز ورود ناموفق را تنظیم کنید (مثلاً 3 بار).
- مدتزمان قفل شدن کاربر بعد از تلاش ناموفق را مشخص کنید (مثلاً 15 دقیقه).
- تنظیمات را ذخیره کنید.
✅ حالا اگر کاربری چندین بار رمز عبور اشتباه وارد کند، بهطور موقت مسدود خواهد شد.
2. محدود کردن ورود ناموفق بدون افزونه (کدنویسی در functions.php)
اگر نمیخواهید از افزونه استفاده کنید، میتوانید با استفاده از کد زیر این قابلیت را به وردپرس اضافه کنید.
مراحل اضافه کردن کد:
- به پیشخوان وردپرس بروید.
- به نمایش → ویرایشگر فایل پوسته بروید.
- فایل
functions.phpقالب خود را باز کنید. - کد زیر را در انتهای این فایل اضافه کنید:
/**
* محدود کردن تعداد دفعات ورود ناموفق در وردپرس
* این کد به شما کمک میکند تا تعداد تلاشهای ناموفق برای ورود به وردپرس را محدود کنید و از حملات Brute Force جلوگیری نمایید.
* پس از چند تلاش ناموفق، کاربر برای مدت مشخصی مسدود خواهد شد.
*
* آدرس سایت: https://www.MihanTheme.ir/
* نویسنده: Mohammad Rahimi
*/
function limit_login_attempts() {
if (!session_id()) {
session_start();
}
$max_attempts = 3; // تعداد دفعات مجاز ورود اشتباه
$lockout_time = 15 * 60; // زمان مسدود شدن (به ثانیه)
if (!isset($_SESSION['login_attempts'])) {
$_SESSION['login_attempts'] = 0;
}
if ($_SESSION['login_attempts'] >= $max_attempts) {
$remaining_time = ($_SESSION['lockout_time'] + $lockout_time) - time();
if ($remaining_time > 0) {
wp_die("تعداد تلاشهای شما بیش از حد مجاز است. لطفاً بعد از " . ceil($remaining_time / 60) . " دقیقه دوباره تلاش کنید.");
} else {
$_SESSION['login_attempts'] = 0;
}
}
add_action('wp_login_failed', function() {
$_SESSION['login_attempts'] += 1;
$_SESSION['lockout_time'] = time();
});
}
add_action('init', 'limit_login_attempts');
✅ بعد از اضافه کردن این کد:
- اگر کاربری بیش از 3 بار رمز عبور را اشتباه وارد کند، برای 15 دقیقه قفل خواهد شد.
- بعد از گذشت 15 دقیقه، دوباره امکان ورود به سایت وجود دارد.
جمعبندی
محدود کردن ورود ناموفق یکی از بهترین روشها برای جلوگیری از حملات بروت فورس و افزایش امنیت وردپرس است. اگر به دنبال راهحلی سریع و بدون دردسر هستید، پیشنهاد میشود از افزونه Limit Login Attempts Reloaded استفاده کنید. اما اگر نمیخواهید افزونه نصب کنید، میتوانید با چند خط کد، این قابلیت را به سایت خود اضافه کنید.