آموزش افزایش امنیت وردپرس بدون افزونه با داستان تیم اِرم وردپرس
مقدمه سلام! ما تیم اِرم وردپرس هستیم و امروز میخواهیم داستان یک وبسایت وردپرسی را برایتان تعریف کنیم که چگونه توانست بدون نصب حتی یک افزونه امنیت وردپرس، در برابر هکرها و حملات سایبری استوار بماند. اگر شما هم دوست دارید با یک آموزش امنیت وردپرس ساده و کاربردی آشنا شوید و از رازهای امنیت وردپرس بدون افزونه مطلع شوید، تا انتهای این مقاله با ما همراه باشید.
شروع داستان: اولین تماس مشتری
یکی از روزهای اردیبهشت، زنگ خبر رسید: رضا، مدیر یک سایت فروشگاهی کوچک وردپرسی، اضطراب به دل داشت. سایتی که با زحمت راهاندازی کرده بود، ناگهان قربانی حمله بروتفورس شده و آدرس ورود پیشفرض یعنی wp-login.php تبدیل به یک فرصت طلایی برای هکرها شده بود. او از ما پرسید: «آیا وردپرس امن است؟» ما در تیم اِرم وردپرس پاسخ دادیم: وردپرس ذاتاً سیستم امنیست، اما تا وقتی برخی نکات کلیدی را رعایت نکنید، حتی بهترین CMS هم آسیبپذیر میشود.
آیا وردپرس امن است؟
پاسخ کوتاه و دوستانه ما این است: بله، وردپرس امن است؛ اما اگر:
- هاست مناسب انتخاب نکنید
- چک لیست امنیت وردپرس را نادیده بگیرید
- هسته، قالب و افزونهها را بهروز نکنید
- تنظیمات پیشفرض را رها کنید
حتماً به مشکل برخواهید خورد. در ادامه، گامبهگام با ما باشید تا بدون افزونه، امنیت وردپرس را افزایش دهیم.
مشکلات امنیتی رایج وردپرس
قبل از شروع بخش عملی، نگاهی به مشکلات امنیتی وردپرس میاندازیم:
- نام کاربری پیشفرض “admin”
- رمز عبورهای کوتاه یا تکراری
- فایل wp-config.php بدون محافظت
- پیشفرض بودن پیشوند جدولهای دیتابیس (wp_)
- عدم استفاده از SSL/HTTPS
- عدم محدودسازی تلاشهای ورود
- اجازه ویرایش فایل از پیشخوان
- XML-RPC فعال بدون دلیل
با شناسایی این نقاط ضعف، مسیر آموزش افزایش امنیت وردپرس بدون افزونه برای شما هموارتر میشود.
چک لیست امنیت وردپرس بدون افزونه
حالا که فهمیدیم کجاها خطرناک است، بیایید قدمبهقدم پیش برویم:
- تغییر آدرس ورود وردپرس
- با قرار دادن کد در
functions.php
یا تعریف ریدایرکت در.htaccess
، آدرس پیشفرض ورود را به مثالاً/secure-login
تغییر دهید. این کار بسیاری از حملات خودکار را خنثی میکند.
- با قرار دادن کد در
- محدود کردن تلاشهای ورود (Brute Force Protection)
- میتوانید با اضافه کردن تابع زیر به
functions.php
اجازه بیش از 5 تلاش ناموفق را مسدود کنید:
function limit_login_attempts() { if ( ! session_id() ) session_start(); $attempts = &$_SESSION['login_attempts']; $attempts = isset($attempts) ? $attempts + 1 : 1; if ($attempts > 5) { die('Too many login attempts'); } } add_action('wp_login_failed', 'limit_login_attempts');
- میتوانید با اضافه کردن تابع زیر به
- محافظت از فایل
wp-config.php
- این فایل حاوی اطلاعات حساس دیتابیس است. با قرار دادن آن یک پوشه بالاتر و افزودن دستور زیر به
.htaccess
، دسترسی مستقیم را ببندید:
<files wp-config.php> order allow,deny deny from all </files>
- این فایل حاوی اطلاعات حساس دیتابیس است. با قرار دادن آن یک پوشه بالاتر و افزودن دستور زیر به
- تغییر پیشفرض پیشوند دیتابیس
- هنگام نصب، اگر هنوز
wp_
مانده، به کمک phpMyAdmin یا اسکریپت ساده، آن را به مثلاًeram_
تغییر دهید تا امکان SQL Injection کاهش یابد.
- هنگام نصب، اگر هنوز
- بستن ویرایشگر فایل در پیشخوان
- با کد زیر از تغییرات مخرب جلوگیری کنید:
define('DISALLOW_FILE_EDIT', true);
- فعالسازی SSL/HTTPS
- یک گواهی SSL رایگان از Let’s Encrypt نصب کنید و در فایل
.htaccess
ریدایرکت کامل به HTTPS را برقرار کنید.
- یک گواهی SSL رایگان از Let’s Encrypt نصب کنید و در فایل
- تنظیم دسترسی فایلها (File Permissions)
- پوشهها: 755
- فایلها: 644
- غیرفعال کردن XML-RPC در صورت عدم نیاز
add_filter('xmlrpc_enabled', '__return_false');
- مخفی کردن نسخه وردپرس
remove_action('wp_head', 'wp_generator');
- مانیتورینگ و لاگبرداری ساده
- با فعال کردن نمایش خطاها در فایل
wp-config.php
و بررسی دورهای/wp-content/debug.log
، میتوانید رفتار مشکوک را زودتر شناسایی کنید.
- با فعال کردن نمایش خطاها در فایل
تجربیات تیم اِرم وردپرس در اجرای چکلیست
در تجربه کاری ما، اکثر مشتریان پس از اجرای همین چک لیست امنیت وردپرس بدون افزونه، تا 80% از حملات خودکار را حذف کردند. بهعنوان مثال، سایت فروشگاهی رضا، پس از تغییر پیشوند دیتابیس و محدودکردن ورود، یک ماه بدون حتی یک لاگ حمله باقی ماند.
آموزش تغییر صفحه ورود وردپرس بدون افزونه
بیایید تغییر صفحه ورود وردپرس بدون افزونه را هم عملی کنیم:
// فایل functions.php
function eram_change_login_url() {
return home_url('/login-eram');
}
add_filter('login_url', 'eram_change_login_url');
add_filter('login_redirect', function() { return home_url(); });
و در .htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-login.php$ /404 [R=404,L]
</IfModule>
سریع و بدون نیاز به پلاگین!
نکته نهایی درباره “افزونه امنیت وردپرس”
ممکن است فکر کنید چرا سراغ افزونه امنیت وردپرس نرویم؟ افزونهها امکانات متنوعی مثل اسکن فایل، فایروال داخلی و آمار حملات ارائه میدهند؛ اما حجم اضافی، تداخل با سایر افزونهها و بار روی سرور میتواند سرعت سایت را کاهش دهد. ما با روشهای دستساز و سبک، همان کارایی پایه را بدون دردسر برایتان فراهم میکنیم.
دعوت از شما اگر دوست دارید افزایش امنیت سایتتان را بدون دغدغه و با کیفیت بالا انجام دهید، تیم اِرم وردپرس آماده ارائه خدمات امنیت کامل سایت است. ما با رعایت تمامی نکات، سرعت و سادگی سایتتان را حفظ خواهیم کرد. برای مشاوره رایگان و سفارش کار، همین حالا با ما در تماس باشید؛ به جمع دوستان امن ما بپیوندید!