مقدمه: یک فایل، همه چیز
در هر سایت وردپرسی، یک فایل وجود دارد که اگر به دست اشخاص غیرمجاز برسد، کل سایت شما در اختیار آنهاست. این فایل wp-config.php است — قلب تنظیمات وردپرس.
wp-config.php حاوی اطلاعاتی است که وردپرس برای کارکرد به آنها نیاز دارد: نام پایگاه داده، نام کاربری و رمز عبور دیتابیس، کلیدهای امنیتی (Secret Keys)، آدرس هاست دیتابیس و پیشوند جداول. اگر هکری به این فایل دسترسی پیدا کند، به تمام محتوای پایگاه داده سایت شما دسترسی خواهد داشت.
چه اطلاعاتی در wp-config.php ذخیره میشود؟
اطلاعات پایگاه داده
مهمترین بخش wp-config.php، اطلاعات اتصال به دیتابیس است. این اطلاعات شامل نام دیتابیس، نام کاربری با دسترسی کامل، رمز عبور دیتابیس و آدرس سرور دیتابیس میشود. با این اطلاعات، هکر میتواند مستقیماً به تمام جداول وردپرس دسترسی داشته باشد — از جمله اطلاعات کاربران، رمزهای عبور هششده، محتوا و تنظیمات.
کلیدهای احراز هویت (Secret Keys)
این کلیدها برای امنسازی کوکیهای وردپرس استفاده میشوند. اگر هکر به این کلیدها دسترسی داشته باشد، میتواند کوکیهای جعلی ایجاد کند و بدون نیاز به رمز عبور وارد حساب هر کاربری شود.
تنظیمات حساس دیگر
wp-config.php ممکن است شامل تنظیمات دیباگ، آدرسهای سرویسهای خارجی، کلیدهای API و سایر اطلاعات حساس هم باشد.
چگونه هکرها به wp-config.php دسترسی پیدا میکنند؟
۱. نقص در پیکربندی سرور
اگر سرور به درستی پیکربندی نشده باشد، ممکن است فایلهای PHP مستقیماً به جای اجرا، دانلود شوند. در این صورت هر کسی میتواند wp-config.php را دانلود کند.
۲. آسیبپذیری در افزونهها یا قالبها
برخی آسیبپذیریهای Local File Inclusion (LFI) در افزونهها یا قالبها به هکر اجازه میدهد محتوای فایلهای دلخواه را بخواند — از جمله wp-config.php.
۳. دسترسی از طریق FTP یا SSH
اگر اطلاعات FTP یا SSH سایت شما لو برود، هکر میتواند wp-config.php را مستقیماً دانلود کند.
۴. Cross-Site Contamination
در هاستهای اشتراکی بدون ایزولاسیون، بدافزار روی یک سایت میتواند به wp-config.php سایتهای همسایه دسترسی داشته باشد.
۵. نمایش خطاهای PHP
اگر حالت دیباگ فعال باشد، برخی خطاهای PHP میتوانند بخشی از اطلاعات wp-config.php را در خروجی نمایش دهند.
پیامد دسترسی هکر به wp-config.php
اگر هکر به این فایل دسترسی پیدا کند:
- به پایگاه داده کامل سایت دسترسی مستقیم دارد
- میتواند اطلاعات همه کاربران را استخراج کند
- میتواند یک حساب ادمین جدید بسازد
- میتواند محتوای سایت را تغییر یا حذف کند
- میتواند بدافزار در دیتابیس کار بگذارد
- میتواند با جعل کوکی بدون رمز عبور وارد شود
روشهای محافظت از wp-config.php
۱. انتقال فایل به خارج از public_html
وردپرس به صورت خودکار میتواند wp-config.php را از یک سطح بالاتر از پوشه عمومی بارگذاری کند. اگر فایل را به خارج از public_html منتقل کنید، از طریق مرورگر قابل دسترس نخواهد بود.
۲. محدودیت دسترسی در htaccess
میتوانید با افزودن قوانین به .htaccess، دسترسی مستقیم به wp-config.php را مسدود کنید. این کار دسترسی به این فایل از طریق مرورگر را غیرممکن میکند.
۳. تنظیم Permission صحیح
فایل wp-config.php باید Permission 400 یا ۴۴۰ داشته باشد (فقط خواندن توسط مالک). هیچوقت Permission 777 یا ۶۶۶ برای این فایل تنظیم نکنید.
۴. غیرفعال کردن حالت دیباگ در محیط عمومی
مطمئن شوید WP_DEBUG روی false تنظیم شده و هیچ اطلاعاتی از wp-config.php در خروجی HTML نمایش داده نمیشود.
۵. استفاده از متغیرهای محیطی
در سطوح پیشرفتهتر، میتوانید اطلاعات حساس مثل رمز دیتابیس را به جای wp-config.php در متغیرهای محیطی سرور ذخیره کنید.
نقش هاست در محافظت از wp-config.php
یک هاست حرفهای چند لایه محافظت برای wp-config.php فراهم میکند:
- CageFS: هر کاربر فقط به فایلهای خودش دسترسی دارد — سایتهای همسایه نمیتوانند به wp-config.php شما دسترسی داشته باشند
- Imunify360: تلاش برای خواندن فایلهای حساس را شناسایی و مسدود میکند
- WAF: درخواستهای LFI که قصد خواندن wp-config.php را دارند فیلتر میشوند
- Permission خودکار: هاستهای حرفهای Permission های صحیح را به صورت خودکار اعمال میکنند
جمعبندی
wp-config.php مهمترین فایل سایت وردپرسی شماست و محافظت از آن باید در اولویت باشد. ترکیبی از تنظیمات صحیح Permission، محدودیت دسترسی در htaccess و انتقال فایل به خارج از public_html، لایههای محافظتی خوبی ایجاد میکند.
اما پایدارترین لایه محافظت، زیرساخت هاست امن است. هاست وردپرس میهن هاستینگ با CageFS، Imunify360 و WAF پیشرفته، از دسترسی غیرمجاز به wp-config.php جلوگیری میکند — حتی در برابر حملات پیشرفته Cross-Site Contamination.
