
مقدمه
بالا بردن سطح امنیت وردپرس، یک دغدغه همیشگی برای مدیران سایتهاست. در این راهنمای فنی، به بررسی روشهای پایهای و در عین حال مؤثری میپردازیم که به شما کمک میکند بدون نیاز به نصب افزونههای متعدد، لایههای دفاعی سایت خود را تقویت کنید. در ادامه، نحوه امنسازی فایلهای wp-config.php و .htaccess و همچنین روشهای جلوگیری از حملات Brute Force را تشریح خواهیم کرد.
دو فایل wp-config.php و .htaccess نقش کلیدی در عملکرد و امنیت سایت وردپرسی دارند. پیکربندی صحیح این دو، میتواند از بروز بسیاری از مشکلات امنیتی جلوگیری کند.
wp-config.php
این فایل به دلیل نگهداری اطلاعات اتصال به پایگاه داده، یکی از حساسترین بخشهای وردپرس است.
۱. جابجایی فایل wp-config.php
وردپرس این قابلیت را دارد که فایل wp-config.php را از یک پوشه بالاتر نسبت به محل نصب خود بخواند. انتقال این فایل به خارج از پوشه ریشه (مانند public_html)، دسترسی مستقیم به آن را از طریق وب دشوارتر میسازد. برای این کار، از طریق File Manager هاست خود، فایل را به دایرکتوری بالاتر منتقل کنید.
۲. تنظیم مجوزهای دسترسی (File Permissions)
سطح دسترسی این فایل باید تا حد امکان محدود باشد. مجوز 400 یا 440، که فقط به سرور اجازه خواندن فایل را میدهد، گزینهای مناسب است. این کار را میتوانید از طریق بخش Change Permissions در File Manager انجام دهید.
۳. استفاده از کلیدهای امنیتی (Security Keys)
کلیدهای امنیتی وردپرس برای رمزنگاری اطلاعات ذخیره شده در کوکیهای کاربران به کار میروند. توصیه میشود این کلیدها را به صورت دورهای تعویض کنید. برای این منظور، از طریق مولد رسمی کلید وردپرس، مجموعهی جدیدی از کلیدها را تولید کرده و جایگزین مقادیر قبلی در فایل wp-config.php نمایید.
۴. غیرفعال کردن ویرایشگر فایل
برای جلوگیری از ویرایش فایلهای قالب و افزونه از طریق پیشخوان وردپرس (که در صورت نفوذ هکر به پنل ادمین خطرناک است)، کد زیر را به فایل wp-config.php اضافه کنید:
PHP
define('DISALLOW_FILE_EDIT', true);
.htaccess برای افزایش امنیتفایل .htaccess یک فایل پیکربندی برای سرورهای وب آپاچی است که امکان تعریف قوانین امنیتی مختلفی را فراهم میکند.
۱. محافظت از فایل wp-config.php
برای مسدودسازی هرگونه تلاش برای دسترسی به فایل wp-config.php از طریق مرورگر، کد زیر را در فایل .htaccess اصلی سایت قرار دهید:
Apache
<files wp-config.php>
order allow,deny
deny from all
</files>
۲. غیرفعالسازی امکان لیست کردن محتوای دایرکتوریها
برای جلوگیری از نمایش لیستی از فایلهای یک پوشه در صورت نبود فایل ایندکس، از دستور زیر در .htaccess استفاده کنید:
Apache
Options -Indexes
۳. جلوگیری از اجرای اسکریپت در پوشه آپلود
پوشه wp-content/uploads محل بارگذاری فایلهای رسانهای است. برای جلوگیری از اجرای فایلهای PHP مخرب در این مسیر، یک فایل .htaccess جدید در داخل این پوشه ساخته و قطعه کد زیر را در آن قرار دهید:
Apache
<Files *.php>
deny from all
</Files>

حملات Brute Force با هدف حدس زدن نام کاربری و رمز عبور از طریق آزمون و خطای مکرر انجام میشوند. در ادامه سه روش برای مقابله با این حملات بدون استفاده از افزونه معرفی میشود.
این روش یک پنجره ورود ثانویه، قبل از نمایش صفحه لاگین وردپرس، ایجاد میکند که توسط سرور مدیریت میشود و رباتها قادر به عبور از آن نیستند. برای فعالسازی آن، میتوانید از بخش Directory Privacy در کنترل پنل هاست خود (مانند cPanel) برای پوشه wp-admin یک رمز عبور جدید تعریف کنید.
اگر از آدرس IP ثابت استفاده میکنید، میتوانید دسترسی به صفحه wp-login.php را فقط به IP خود محدود کنید. این کار با افزودن کد زیر به فایل .htaccess اصلی امکانپذیر است. آدرس YOUR_IP_ADDRESS را با IP واقعی خود جایگزین کنید.
Apache
<Files wp-login.php>
order deny,allow
deny from all
allow from YOUR_IP_ADDRESS
</Files>
توجه: این روش برای کاربرانی با IP داینامیک مناسب نیست.
این روش شامل تغییر آدرس wp-login.php به یک آدرس دلخواه از طریق افزودن کد به فایل functions.php قالب است. به دلیل حساسیت این روش و احتمال بروز خطا در صورت عدم اجرای صحیح، انجام آن نیازمند دانش فنی و تهیه نسخه پشتیبان است.
کد زیر یک نمونه برای انجام این کار است (عبارت my-new-login را با آدرس دلخواه خود جایگزین کنید):
PHP
add_filter('login_url', function() { return site_url('/my-new-login', 'login'); }, 10, 3);
add_action('init', function() {
if (strpos($_SERVER['REQUEST_URI'], 'my-new-login') === false && is_user_logged_in() === false) {
if (basename($_SERVER['PHP_SELF']) == 'wp-login.php') {
wp_redirect(home_url('/my-new-login'));
exit;
}
}
});
پس از افزودن کد، باید یک بار از طریق پیشخوان وردپرس به بخش تنظیمات > پیوندهای یکتا مراجعه کرده و روی دکمه "ذخیره تغییرات" کلیک کنید.

با پیادهسازی تکنیکهای شرح داده شده در این مقاله، یک لایه دفاعی مستحکم و ضروری به سایت وردپرسی خود اضافه کردهاید. امنسازی فایلهای پیکربندی اصلی و محافظت از صفحه ورود، اقداماتی پایهای هستند که تأثیر قابل توجهی بر کاهش آسیبپذیریهای رایج دارند. امنیت یک فرآیند مداوم است و توجه به این جزئیات فنی، گامی مهم در جهت حفاظت از دارایی دیجیتال شما محسوب میشود.