
به اشتراک بگذارید

به اشتراک بگذارید
امنیت وردپرس | بلاگ وبداده
ایمنسازی وردپرس با ویرایش فایل wp-config.php
wp-config.php در ریشه نصب وردپرس قرار دارد و پلی است میان کدهای وردپرس و دیتابیس. اطلاعات اتصال به دیتابیس (نام، کاربر و رمز)، کلیدها و نمکهای امنیتی، پیشوند جدولها و دهها ثابت پیکربندی همگی در همین فایل تعریف میشوند. به بیان ساده، اگر کسی به این فایل دسترسی بخواند، عملاً کلید خانه شما را در دست دارد.
DISALLOW_FILE_EDIT ویرایشگر قالب و افزونه در پیشخوان بسته میشود. اگر مهاجمی به یک حساب مدیر دست پیدا کند، دیگر نمیتواند سریع کد مخرب را از داشبورد تزریق کند.FORCE_SSL_ADMIN ورود و پیشخوان فقط روی HTTPS باز میشوند تا رمز و کوکی نشست در مسیر شبکه شنود نشود. پیشنیاز آن نصب گواهی SSL معتبر است.
.htaccess جلوی خواندهشدن مستقیم wp-config.php از طریق مرورگر را بگیرید. این قطعه را در بالای فایل .htaccess قرار دهید:| تنظیم / ثابت | چهکار میکند؟ | مزیت امنیتی | ریسک یا ناراحتی |
|---|---|---|---|
| کلیدها و نمکها | امضا و رمزنگاری کوکیهای ورود | جعل نشست را سخت میکند | با تغییر، همه logout میشوند |
| DISALLOW_FILE_EDIT | بستن ویرایشگر قالب/افزونه | کندکردن تزریق کد پس از نفوذ | کم؛ باید فایلها را با FTP ویرایش کنید |
| FORCE_SSL_ADMIN | اجبار HTTPS برای پیشخوان | جلوگیری از شنود رمز و کوکی | نیازمند نصب SSL معتبر |
| DISALLOW_FILE_MODS | قفل کامل نصب/بهروزرسانی فایل | کاهش شدید سطح حمله | آپدیت خودکار غیرفعال میشود |
| .htaccess (deny) | مسدودکردن دسترسی مستقیم به فایل | جلوگیری از خواندن wp-config | فقط روی اپاچی/لایتاسپید |
| مجوز 440 | فقطخواندنی برای مالک و سرور | کاهش خطر خواندهشدن فایل | روی بعضی هاستها باید 640 شود |
این فایل در ریشه (پوشه اصلی) نصب وردپرس، معمولاً همان پوشهای که wp-content و wp-includes در آن هستند، قرار دارد. از طریق مدیر فایل هاست (File Manager) یا با اتصال FTP میتوانید به آن دسترسی داشته باشید. اگر پوشه public_html دارید، معمولاً همانجاست.
بله، این مهمترین توصیه است. یک خطای کوچک در این فایل میتواند سایت را سفید کند. قبل از هر تغییر یک نسخه از خود فایل و ترجیحاً یک بکاپ کامل بگیرید تا در صورت مشکل بتوانید فوری بازگردانید.
خیر. اینها لایههای مکمل هستند و سطح حمله را کم میکنند، اما جایگزین بهروزرسانی منظم هسته و افزونهها، رمز عبور قوی، احراز هویت دومرحلهای و بکاپ نیستند. امنیت یعنی کاهش ریسک، نه حذف کامل آن.
کاملاً طبیعی است. کلیدها و نمکها کوکیهای ورود را امضا میکنند؛ وقتی عوضشان کنید، کوکیهای قبلی بیاعتبار میشوند و همه کاربران باید دوباره وارد شوند. کافی است دوباره لاگین کنید.
ثابتهای امنیتی را کمی بالاتر از خطی که نوشته «/* همینجا دیگر ویرایش نکنید */ (That’s all, stop editing!)» بگذارید. اگر بعد از آن خط بگذارید ممکن است اعمال نشوند.
این ثابت فقط زمانی درست کار میکند که گواهی SSL معتبر روی دامنه نصب باشد. اگر SSL ندارید یا درست تنظیم نشده، ممکن است حلقه ریدایرکت یا خطای دسترسی ببینید. ابتدا SSL را نصب و فعال کنید، سپس این ثابت را روشن کنید.
اولی فقط ویرایشگر فایل قالب و افزونه در پیشخوان را میبندد و کمریسک است. دومی سختگیرانهتر است و نصب و بهروزرسانی فایلها (از جمله آپدیت خودکار) را هم میبندد. برای بیشتر سایتها فقط DISALLOW_FILE_EDIT کافی است.
این کار امکانپذیر است و وردپرس یک دایرکتوری بالاتر را هم بررسی میکند، اما خود مستندات رسمی میگویند مزیت امنیتی آن محل بحث است و اگر بادقت انجام نشود ممکن است آسیبپذیری ایجاد کند. برای کاربر مبتدی، تمرکز روی مجوز فایل و .htaccess عملیتر و کمخطرتر است.