تغییر مکان فایل wp-config.php برای امنیت بیشتر وردپرس
- امنیت وردپرسمقالات آموزشی
- بروزرسانی شده در

فایل wp-config.php اطلاعات حساسی مثل نام پایگاه داده، نام کاربری و رمز اتصال به اون رو نگه میداره. برای همین، محافظت از این فایل اهمیت زیادی داره. یکی از راههایی که میتونید امتحان کنید، انتقال فایل به یک سطح بالاتر از پوشه نصب وردپرسه. البته این کار امنیت کامل سایت رو تضمین نمیکنه و روی همه هاستها هم شدنی نیست.
توی این مقاله اول میبینیم wp-config.php چه فرقی با wp-config-sample.php داره. بعد با هم فایل رو به روش درست جابهجا میکنیم، عملکرد سایت رو میسنجیم و مجوز فایل رو بررسی میکنیم. قبل از شروع حتما نسخه پشتیبان بگیرید. اگه مسیر پوشهها براتون روشن نیست، بهتره از پشتیبانی هاست کمک بخواید.
فایل wp-config-sample.php فقط یک نمونه داخل بسته نصب وردپرس هست و اطلاعات واقعی سایتتون رو توی خودش نگه نمیداره. موقع نصب، تنظیمات واقعی داخل wp-config.php ذخیره میشن. پس باید از wp-config.php محافظت کنید، نه فایل نمونه.
جابهجایی این فایل فقط دسترسی مستقیم از طریق وب رو سختتر میکنه. اگه کد مخرب یا یکی از کاربران سرور اجازه خوندن فایلها رو داشته باشه، هنوز ممکنه به اطلاعات اون دسترسی پیدا کنه. پس بهتره این تغییر رو فقط یک لایه کوچک از امنیت سایتتون بدونید.
آنچه در این مقاله میخوانید
فایل wp-config.php چیه
wp-config.php فایل اصلی تنظیمات وردپرسه. اطلاعات اتصال به پایگاه داده، کلیدهای امنیتی و بعضی از تنظیمات فنی وردپرس داخل این فایل قرار میگیرن. پایگاه داده هم بخشی از هاستتونه که نوشتهها، تنظیمات و اطلاعات کاربران سایت رو نگه میداره.
این فایل معمولا داخل پوشه نصب وردپرس قرار میگیره. اسم این پوشه روی خیلی از هاستها public_html هست، ولی شرکت هاستینگ ممکنه اسم دیگهای براش گذاشته باشه. برای پیداکردنش دنبال پوشهای بگردید که wp-admin، wp-content و wp-includes داخل اون هستن.
آیا تغییر مکان wp-config.php امنیت رو بیشتر میکنه
وردپرس میتونه wp-config.php رو در یک سطح بالاتر از پوشه نصب خودش پیدا کنه. وقتی فایل رو به اونجا منتقل میکنید، از ریشه عمومی وب بیرون میره و معمولا دیگه نمیشه با واردکردن یک آدرس مستقیم در مرورگر بهش رسید.
بااینحال، تأثیر امنیتی این روش به تنظیمات سرور بستگی داره و متخصصها هم درباره فایده واقعی اون همنظر نیستن. اگه فایل رو اشتباه جابهجا کنید، ممکنه سایت از دسترس خارج بشه یا اطلاعات حساسش در محل نامناسبی قرار بگیره. فایل رو فقط یک سطح بالاتر ببرید و اون رو داخل پوشهای مشترک با سایتهای ناشناس نذارید.
قبل از انتقال wp-config.php چه کارهایی انجام بدیم
- از فایلهای سایت و پایگاه داده نسخه پشتیبان بگیرید.
- مطمئن بشید به File Manager هاست یا FTP دسترسی دارید.
- پوشه نصب وردپرس و پوشه یک سطح بالاتر از اون رو پیدا کنید.
- مطمئن بشید PHP اجازه خوندن فایلهای پوشه بالاتر رو داره.
- اگه از هاست اشتراکی استفاده میکنید یا مسیرها براتون واضح نیست، قبل از جابهجایی با پشتیبانی هاست هماهنگ کنید.
تغییر مکان فایل wp-config.php
از سایت نسخه پشتیبان بگیرید
قبل از جابهجایی، از فایلهای سایت و پایگاه داده نسخه پشتیبان بگیرید. یک نسخه از wp-config.php رو هم در محلی امن و بیرون از دسترس عمومی نگه دارید.
پوشه نصب وردپرس رو پیدا کنید
File Manager هاست رو باز کنید. پوشهای که wp-admin، wp-content و wp-includes داخل اون هستن، همون پوشه نصب وردپرسه. این پوشه ممکنه public_html یا پوشه دامنه شما باشه.

فایل رو یک سطح بالاتر منتقل کنید
برای wp-config.php گزینه Move رو بزنید و فایل رو دقیقا به پوشه والد ببرید. فایل رو کپی نکنید؛ چون اگه نسخه اصلی داخل پوشه عمومی بمونه، این جابهجایی فایده موردنظر رو نداره.

سایت و پیشخوان رو بررسی کنید
صفحه اصلی سایت و پیشخوان وردپرس رو باز کنید. اگه هر دو بدون خطا بالا اومدن، یعنی وردپرس فایل جابهجاشده رو پیدا کرده. اگه خطایی دیدید، فایل رو به محل قبلی برگردونید و از پشتیبانی هاست کمک بخواید.
داخل پوشه نصب وردپرس یک wp-config.php تازه نسازید و کد include هم ننویسید. وردپرس خودش پوشه یک سطح بالاتر رو برای پیداکردن فایل بررسی میکنه. کد ناقص یا مسیر اشتباه ممکنه هشدار نشون بده، سایت رو از کار بندازه یا مسیرهای سرور رو فاش کنه.

تنظیم مجوز فایل wp-config.php
مجوز فایل مشخص میکنه کدوم کاربرهای سرور اجازه دارن اون رو بخونن یا تغییر بدن. راهنمای امنیت وردپرس مجوزهای محدودی مثل 400 یا 440 رو پیشنهاد میکنه، ولی عدد مناسب به روش اجرای PHP و تنظیمات هاستتون بستگی داره.
بعد از تغییر مجوز، صفحه اصلی سایت و پیشخوان رو دوباره باز کنید. اگه با خطای دسترسی روبهرو شدید، مجوز قبلی رو برگردونید و مقدار مناسب رو از پشتیبانی هاست بپرسید. یک عدد ثابت برای همه سرورها جواب نمیده.
اگه امکان انتقال فایل رو نداریم چه کار کنیم
بعضی از هاستها اجازه نمیدن PHP فایلهای پوشه بالاتر رو بخونه. توی این شرایط، wp-config.php رو در محل اصلی خودش نگه دارید و از پشتیبانی هاست بخواید دسترسی مستقیم وب به این فایل رو ببنده. روش انجام این کار در Apache و Nginx فرق میکنه؛ پس کدی رو که برای یک وبسرور دیگه نوشته شده، بدون بررسی روی سایتتون نذارید.
اگه سرورتون از Apache و فایل .htaccess استفاده میکنه، پشتیبانی هاست میتونه قانون مناسب برای بستن دسترسی رو اضافه کنه. روی Nginx این محدودیت باید داخل تنظیمات سرور قرار بگیره و کاربران هاست اشتراکی معمولا به اون بخش دسترسی ندارن.
کارهای مهمتر برای افزایش امنیت وردپرس
تغییر مکان wp-config.php جای کارهای اصلی امنیتی رو نمیگیره. وردپرس، قالبها و افزونهها رو بهروز نگه دارید. افزونههایی رو که لازم ندارید پاک کنید، برای حسابها رمزهای قوی و متفاوت بسازید و منظم نسخه پشتیبان بگیرید. برای بررسی تنظیمات امنیتی بیشتر هم میتونید آموزش افزونه All In One WP Security & Firewall رو ببینید.
برای محکمترکردن امنیت اطلاعات پایگاه داده، میتونید کلیدهای Salt وردپرس رو امن تغییر بدید. همینطور بهتره با روش درست تغییر پیشوند جداول وردپرس آشنا بشید.
اگه فایلهای سایت تغییر کردن، کاربر ناشناسی ساخته شده یا بازدیدکنندهها به آدرس دیگهای فرستاده میشن، فقط جابهجایی wp-config.php کافی نیست. توی این وضعیت از راهنمای پاکسازی سایت وردپرسی ویروسی کمک بگیرید.
جمعبندی
در آخر، اگه هاستتون از انتقال wp-config.php پشتیبانی میکنه، فایل رو فقط یک سطح بالاتر از پوشه نصب ببرید و بلافاصله سایت رو آزمایش کنید. این تغییر بهتنهایی جلوی نفوذ رو نمیگیره، ولی در کنار مجوز درست فایل، بهروزرسانی منظم و نسخه پشتیبان میتونه بخشی از برنامه امنیتی سایتتون باشه.
سوالات متداول
آیا تغییر مکان فایل wp-config.php امنیت وردپرس رو کامل میکنه؟
نه. این کار فقط دسترسی مستقیم از طریق وب رو سختتر میکنه و باید در کنار بهروزرسانی منظم، نسخه پشتیبان، رمزهای قوی و مجوز درست فایلها انجامش بدید.
فایل wp-config.php رو باید به کدوم پوشه منتقل کنیم؟
فایل رو فقط یک سطح بالاتر از پوشه نصب وردپرس ببرید. پوشه نصب همون جاییه که پوشههای wp-admin، wp-content و wp-includes رو میبینید.
فایل wp-config.php رو کپی کنیم یا انتقال بدیم؟
باید خود فایل رو انتقال بدید. اگه یک نسخه از اون داخل پوشه عمومی سایت بمونه، هدف اصلی این جابهجایی بهدرستی انجام نمیشه.
اگه بعد از انتقال فایل سایت باز نشد، چه کار کنیم؟
فایل رو به محل قبلی برگردونید و دوباره سایت و پیشخوان رو بررسی کنید. بعد از پشتیبانی هاست بپرسید که آیا PHP اجازه خوندن فایل از پوشه بالاتر رو داره یا نه.

ضمن درود و سپاس بابت پست مفیدتون
چندتا سوال از خدمتتون داشتم:
1- فرق این روشی که شما فرمودید با روش زیر برای تغییر مکان wp-config چیه؟
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
require_once(ABSPATH . ‘../path/to/wp-config.php’);
2- این روشی که شما فرمودید برای تغییر مکان دیگرفایلهای مهم هم کاربرد داره؟
3- از بین روش شما و دیگری کدومشون برای وبسایت، بهینهتر و سریعتره؟
با تشکر
سلام
سایت من دچار هک قرار گرفتش
فقط به پوشه wp-config.php دسترسی ندارم و ظاهرا بلاک شدم
یعنی قابل ادیت و دانلود هم برای من ممکن نیست
و در قسمت View فایل که میزنم با همچنین پیامی مواجه میشم:
Sorry, you have been blocked
You are unable to access ….
برای رفع مشکل چیکار میشه کرد؟
سلام با هاستینگ در ارتباط باشید.
سلام یک نکته امنیتی هم درون وردپرس دیدم که بعضی ها بخش هایی از سایت را به صورت جعلی برای مخفی کردن اطلاعات اصلی از هکر درست میکنن مثل https:که بنظرم میتونه کاربردی باشه فکر میکنم افزونه هایی هم برای وردپرس ساخته باشن که بتونه کمک کنه اما نمیدونم دقیقا چه افزونه هایی هستند اگر اطلاع دارید ممنون میشم به من هم بگید
با سلام و احترام
متوجه سوال شما نشدم متاسفانه
لطفا کمی دقیق تر توضیح دهید
سلام در سایت ورد پرسی http://www.esfahankala.com هنگام سرچ در گوگل پیام این سایت ممکنه هک شده باشد نشان می دهد سایت در حدود سه روز راه اندازی شده
سلام کد های سایتتون رو بررسی کنید کد مخرب نداشته باشه
نفهمیدم منظور از عقب بردن چیه؟
یک پوشه قبل از public_html
یعنی کجا منتقل کنیم
یک پوشه قبل