راهنمای کامل غیرفعالسازی ویرایش کد وردپرس برای امنیت بیشتر
دسترسی مستقیم به فایلهای کد وردپرس از داخل داشبورد، بسیار کاربردی به نظر میرسد. شما میتوانید سریعاً وارد شوید، کدها را تغییر دهید و ذخیره کنید. اما همین راحتی، یک نقطهضعف بزرگ دارد: اگر یک هکر به حساب کاربری مدیر دسترسی پیدا کند، ویرایشگر کد تبدیل به ابزاری ساده برای تزریق کدهای مخرب میشود.
به همین دلیل، بسیاری از صاحبان سایت تصمیم میگیرند ویرایش کد در وردپرس را بهطور کامل غیرفعال کنند.
در این راهنما یاد میگیرید چطور ویرایش فایل را در وردپرس غیرفعال کنید، چرا این کار برای امنیت سایت حیاتی است، و بعد از آن چه مواردی را باید بررسی کنید تا همهچیز درست کار کند.
چرا ویرایش فایل در وردپرس خطر امنیتی دارد؟
وردپرس دو ویرایشگر داخلی دارد که به مدیران اجازه میدهد فایلهای PHP را مستقیماً از داشبورد باز و ویرایش کنند. بسته به نوع قالبی که استفاده میکنید، این ویرایشگرها در مکانهای مختلفی ظاهر میشوند:
قالب کلاسیک:
- نمایش → ویرایشگر فایل قالب
- افزونهها → ویرایشگر فایل افزونه
قالبهای بلاکی (Site Editor):
- ابزارها → ویرایشگر فایل قالب
- ابزارها → ویرایشگر فایل افزونه
این قابلیت در نگاه اول مفید است، اما اگر مهاجمی وارد حساب مدیر شود، میتواند کد مخرب تزریق کند، بک دور بسازد یا حتی سایت را از کار بیندازد.
غیرفعالسازی این ویرایشگرها به معنای از دست دادن امکان تغییر نیست. شما یا توسعهدهندهتان همچنان میتوانید از طریق SFTP، کنترلپنل هاست یا سرور به فایلها دسترسی داشته باشید. فقط یک میانبر خطرناک را حذف میکنید.
غیرفعالسازی ویرایش فایل کد از طریق wp-config.php
از طریق فایل wp-config.php به تنظیماتی دسترسی دارید که میتوانید نحوه عملکرد وردپرس را کنترل میکنند. تغییرات در این فایل حتی پس از بهروزرسانی وردپرس باقی میمانند. و اگر روزی بخواهید ویرایشگر را برگردانید، کافیست کدی که اضافه کردهاید را حذف کنید.
برای ویرایش این فایل، باید به پوشه اصلی وردپرس در پنل هاست دسترسی داشته باشید (معمولاً public_html). اگر محل این فایل را نمیدانید، از داشبورد هاست یا پشتیبانی هاست کمک بگیرید.
مراحل کار:
فایل wp-config.php را در پوشه اصلی سایت پیدا کنید.
آن را باز کرده و دنبال این خط بگردید:
Code
/* That’s all, stop editing! Happy blogging. */
درست بالای این خط، کد زیر را اضافه کنید:
php
;define(‘DISALLOW_FILE_EDIT’, true)
فایل را ذخیره کرده و اگر از SFTP استفاده کردید، دوباره آپلود کنید.
✅ حالا ویرایشگر فایل از داشبورد وردپرس حذف شده است.
تنظیم سختگیرانهتر با DISALLOW_FILE_MODS
اگر به دنبال امنیت بیشتر هستید، میتوانید از دستور زیر استفاده کنید:
php
;define(‘DISALLOW_FILE_MODS’, true)
این دستور نهتنها ویرایش کد وردپرس را غیرفعال میکند، بلکه نصب و بهروزرسانی افزونهها، قالبها و هسته وردپرس را هم از طریق داشبورد مسدود میکند. البته همچنان میتوانید همهچیز را دستی از طریق SFTP یا کنترلپنل هاست بهروزرسانی کنید.
چطور مطمئن شویم که ویرایش فایل غیرفعال شده؟
بعد از اضافه کردن کد، وارد داشبورد وردپرس شوید و بررسی کنید که لینکهای مربوط به ویرایشگر قالب و افزونه حذف شدهاند.
اگر هنوز قابل مشاهده هستند:
- کش مرورگر و سایت را پاک کنید.
- مطمئن شوید فایل را درست ویرایش کردهاید.
- سینتکس را بررسی کنید، یک نقطهویرگول یا علامت اشتباه میتواند کد را خراب کند.
یکی دیگر از روشهای افزایش امنیت سایت فایل .htaccess است که در مقاله 10 روش افزایش امنیت وردپرس با فایل .htaccess میتوانید مطالعه کنید
فعالسازی دوباره ویرایش فایل
یکی از مزایای این روش، امکان فعالسازی دوباره است. کافیست خط مربوطه را حذف یا کامنت کنید:
php
// ;define(‘DISALLOW_FILE_EDIT’, true)
بعد از ذخیره فایل، لینکهای ویرایشگر دوباره ظاهر میشوند.
راههای دیگر برای افزایش امنیت سایت وردپرس
غیرفعالسازی ویرایش فایل فقط روش اول است. برای محافظت کامل، این اقدامات را هم در نظر بگیرید:
- استفاده از رمزهای عبور قوی و منحصربهفرد
- فعالسازی احراز هویت دو مرحلهای (2FA)
- بهروزرسانی منظم قالبها، افزونهها و وردپرس
- محدود کردن دسترسی مدیر فقط به افراد ضروری
- استفاده از افزونه امنیتی برای اسکن بدافزار و نظارت بر فعالیتها
- تهیه نسخه پشتیبان منظم از سایت
✅ ترکیب این اقدامات با غیرفعالسازی ویرایش فایل، یک دیوار دفاعی قدرتمند برای سایت شما میسازد.
- Jetpack Security: محافظ همهجانبه سایت شما، مجموعهای از ابزارهای امنیتی مخصوص وردپرس است
- VaultPress Backup: تهیه نسخه پشتیبان لحظهای و امکان بازیابی با یک کلیک
- Jetpack Scan: نظارت بر بدافزارها و ارسال هشدار خودکار
- Akismet: جلوگیری از اسپم در دیدگاهها و فرمها
- فایروال وبسایت: مسدودسازی ترافیک مشکوک
همه این ابزارها از طریق داشبورد Jetpack قابل مدیریت هستند و بدون نیاز به افزونههای متعدد، امنیت سایت را تضمین میکنند.
پرسشهای پرتکرار
آیا میتوان فقط ویرایش قالب را غیرفعال کرد و ویرایش افزونه را نگه داشت؟
خیر. وردپرس این دو را جدا نمیکند. با DISALLOW_FILE_EDIT، هر دو حذف میشوند.
آیا میتوان این قابلیت را بر اساس نقش کاربری کنترل کرد؟
در تئوری بله، اما پیچیده است. وردپرس قابلیت خاصی برای ویرایش فایل ندارد و حذف مجوزهای کلی مثل edit_themes ممکن است عملکردهای دیگر را مختل کند.
آیا هنوز میتوان فایلها را به روش دیگری ویرایش کرد؟
بله. غیرفعالسازی ویرایشگر داشبورد، مانع استفاده از SFTP، کنترلپنل هاست، Git یا محیط توسعه محلی نمیشود.