امنیت وردپرس | بلاگ وب‌داده

غیرفعال کردن ویرایشگر پوسته و افزونه در وردپرس

ویرایشگر فایلِ داخل پیشخوان وردپرس یک میان‌بر خطرناک است: با یک خطای کوچک، کل سایت سفید می‌شود و اگر مهاجم به حساب مدیر برسد، اولین سلاحش همین ابزار است. در این راهنما آن را می‌بندیم.
غیرفعال کردن ویرایشگر پوسته و افزونه یعنی بستن ابزار «ویرایشگر فایل» در پیشخوان وردپرس تا دیگر کسی نتواند کد پوسته و افزونه را مستقیم از مرورگر تغییر دهد. این کار یکی از ساده‌ترین و کم‌هزینه‌ترین قدم‌های امن‌سازی سایت است. در ادامه می‌فهمید این ویرایشگر کجاست، چرا خطرناک است و چطور با یک خط کد در wp-config.php یا با یک افزونه امنیتی آن را غیرفعال کنید؛ همراه با جدول مقایسه، معایب صادقانه و پرسش‌های پرتکرار.
  • موضوع چیست: بستن «ویرایشگر فایل پوسته» و «ویرایشگر فایل افزونه» در پیشخوان وردپرس.
  • روش اصلی و رسمی: افزودن یک خط define به فایل wp-config.php.
  • روش سخت‌گیرانه‌تر: ثابت DISALLOW_FILE_MODS که به‌روزرسانی از پیشخوان را هم می‌بندد.
  • راه بدون کد: گزینه یک‌کلیکی در افزونه‌های امنیتی مثل Wordfence و Solid Security.
  • واقعیت صادقانه: این کار جلوی مهاجمِ دارای دسترسی SFTP را نمی‌گیرد؛ فقط یک لایه از امنیت است.

در یک نگاه

ویرایشگر فایل وردپرس به مدیر اجازه می‌دهد کد PHP را از داخل مرورگر ویرایش کند؛ همین ویژگی هم برای کاربر کم‌تجربه و هم در صورت هک، خطرناک است. بستن آن چند دقیقه بیشتر طول نمی‌کشد. بستر میزبانی امن و پشتیبانی فنی این تنظیمات را می‌توانید از وب‌داده بگیرید.
حتماً این مقاله را باز کرده‌اید چون یا در یک اسکن امنیتی توصیه شده «file editing» را ببندید، یا یک‌بار با ویرایش پوسته از پیشخوان، سایتتان سفید شده و حالا می‌خواهید جلوی تکرارش را بگیرید. خبر خوب این است که کار اصلاً پیچیده نیست؛ هر روش را طوری توضیح می‌دهیم که حتی اگر تازه‌کارید، خودتان و بدون کمک متخصص از پسش بربیایید.

غیرفعال کردن ویرایشگر پوسته و افزونه یعنی چه؟

وردپرس به‌صورت پیش‌فرض دو «ویرایشگر فایل» داخل پیشخوان دارد که به مدیر سایت اجازه می‌دهند کد پوسته‌ها و افزونه‌ها را مستقیم از مرورگر ویرایش کند:
  • ویرایشگر فایل پوسته: از مسیر نمایش (Appearance) ← ویرایشگر فایل پوسته (Theme File Editor).
  • ویرایشگر فایل افزونه: از مسیر افزونه‌ها (Plugins) ← ویرایشگر فایل افزونه (Plugin File Editor).
با این ابزارها می‌توانید فایل‌هایی مثل functions.php یا style.css پوسته و فایل‌های PHP افزونه‌ها را بدون هیچ برنامه‌ی جانبی ویرایش کنید. راحت به‌نظر می‌رسد، اما همین راحتی دقیقاً همان چیزی است که آن را به یک ریسک امنیتی جدی تبدیل می‌کند.

یک تشبیه ساده

ویرایشگر فایل داخل پیشخوان مثل این است که یک درِ پشتی مستقیم به اتاق موتورخانه‌ی سایتتان بگذارید که فقط با کلید ورود به پیشخوان باز می‌شود. تا وقتی همه‌چیز امن است مشکلی نیست؛ اما لحظه‌ای که آن کلید (رمز مدیر) به دست فرد نامناسب بیفتد، او مستقیم به قلب سایت دسترسی دارد. غیرفعال کردن این ویرایشگر یعنی برداشتن آن درِ پشتی.
مسیر ویرایشگر فایل پوسته در پیشخوان وردپرس و مفهوم غیرفعال کردن ویرایشگر پوسته

چرا باید ویرایشگر فایل وردپرس را ببندید؟

این موضوع دقیقاً در دسته‌ی امن‌سازی و «حل مشکل وردپرس» قرار می‌گیرد، چون هم به امنیت و هم به پایداری سایت مربوط است. مهم‌ترین دلایل بستن ویرایشگر این‌ها هستند:
  • لایه‌ی دفاعی در برابر هک: اگر مهاجم به یک حساب مدیر دسترسی پیدا کند، اولین کارش تزریق کد مخرب از همین ویرایشگر است. بستن ویرایشگر این مسیر ساده را می‌بندد.
  • جلوگیری از خرابی سهوی: یک خطای نحوی کوچک در functions.php می‌تواند کل سایت را با «صفحه سفید مرگ» (WSOD) از دسترس خارج کند.
  • کنترل کاربران پرشمار: در سایت‌هایی با چند مدیر، بستن ویرایشگر جلوی دستکاری‌های ناخواسته‌ی کاربرانِ «بیش از حد کنجکاو» را می‌گیرد.
  • هم‌راستا با سخت‌سازی رسمی: این کار بخشی از چک‌لیست رسمی «سخت‌سازی وردپرس» است.

نقل‌قول از مستندات رسمی وردپرس

مستندات رسمی وردپرس درباره این تنظیم می‌گوید: «گاهی لازم است ویرایشگر فایل افزونه یا پوسته را غیرفعال کنید تا کاربرانِ بیش از حد کنجکاو نتوانند فایل‌های حساس را ویرایش کرده و احتمالاً سایت را از کار بیندازند. غیرفعال کردن این ابزار همچنین یک لایه‌ی امنیتی اضافه فراهم می‌کند، در صورتی که مهاجم به یک حساب کاربری با دسترسی بالا نفوذ کند.» منبع: Editing wp-config.php — WordPress.org Developer Resources
پس این ابزار در بهترین حالت یک میان‌بر برای توسعه‌دهنده است، اما در بدترین حالت یک درِ باز برای مهاجم. برای اکثر سایت‌هایی که هر روز کد پوسته را دستی ویرایش نمی‌کنند، بستن آن هیچ هزینه‌ای ندارد. اگر هم گاهی نیاز به افزودن کد دارید، بهتر است به‌جای ویرایشگر داخلی از راه‌های امن‌تر مثل قالب فرزند یا روش‌های افزودن کد به وردپرس بدون خطا استفاده کنید.

روش‌های غیرفعال‌سازی ویرایشگر پوسته و افزونه (گام‌به‌گام)

قبل از شروع: یک بکاپ بگیرید

روش اصلی، ویرایش فایل حیاتی wp-config.php است و یک اشتباه کوچک در آن می‌تواند کل سایت را از کار بیندازد. پس قبل از هر تغییری از این فایل (و کل سایت) بکاپ کامل بگیرید تا اگر چیزی طبق انتظار پیش نرفت، سریع به عقب برگردید.

روش اول: افزودن DISALLOW_FILE_EDIT به wp-config.php (روش رسمی)

این روشِ رسمی و توصیه‌شده‌ی خود وردپرس است. کافی است به فایل wp-config.php در پوشه‌ی ریشه‌ی سایت (همان‌جایی که پوشه‌های wp-admin و wp-content هستند) دسترسی پیدا کنید. این دسترسی از طریق مدیر فایل هاست، سی‌پنل یا یک برنامه‌ی SFTP مثل FileZilla ممکن است. سپس این خط را کمی بالاتر از خط /* That's all, stop editing! Happy publishing. */ اضافه کنید:
<?php
// غیرفعال‌سازی ویرایشگر فایل پوسته و افزونه در پیشخوان وردپرس
// این خط را کمی بالاتر از خط زیر در فایل wp-config.php قرار دهید:
// /* That's all, stop editing! Happy publishing. */
define( 'DISALLOW_FILE_EDIT', true );
بعد از ذخیره‌ی فایل، به پیشخوان وردپرس برگردید. خواهید دید که گزینه‌ی «ویرایشگر فایل پوسته» از منوی نمایش و «ویرایشگر فایل افزونه» از منوی افزونه‌ها به‌طور کامل حذف شده است. همین. با یک خط کد، هر دو ویرایشگر بسته شدند.

چطور از اعمال‌شدن مطمئن شوم؟

به مسیر «نمایش» و «افزونه‌ها» در پیشخوان بروید؛ اگر دیگر خبری از گزینه‌ی «ویرایشگر فایل» نبود، یعنی تنظیم درست اعمال شده است. اگر هنوز آن را می‌بینید، مطمئن شوید فایل درست (wp-config.php در ریشه) را ویرایش کرده‌اید و خط را بالای «stop editing» گذاشته‌اید.

روش دوم: DISALLOW_FILE_MODS برای امنیت سخت‌گیرانه‌تر

اگر سایت شما یک محیط تولیدِ حساس است و می‌خواهید علاوه بر بستن ویرایشگر، جلوی نصب و به‌روزرسانی افزونه و پوسته از پیشخوان را هم بگیرید، از ثابت قوی‌تری استفاده کنید. طبق مستندات رسمی وردپرس، تنظیم این ثابت به‌تنهایی همان اثر DISALLOW_FILE_EDIT را هم دارد؛ یعنی دیگر نیازی به نوشتن هر دو نیست:
<?php
// حالت سخت‌گیرانه‌تر برای سایت‌های حساس یا محیط تولید (Production)
// این ثابت علاوه بر بستن ویرایشگر، نصب و به‌روزرسانی افزونه و پوسته از پیشخوان را هم غیرفعال می‌کند
// اگر این خط را بگذارید، دیگر نیازی به DISALLOW_FILE_EDIT نیست
define( 'DISALLOW_FILE_MODS', true );

این روش را با احتیاط انتخاب کنید

با فعال بودن DISALLOW_FILE_MODS دیگر نمی‌توانید افزونه/پوسته را از پیشخوان نصب یا به‌روزرسانی کنید و باید این کارها را از طریق SFTP، WP-CLI یا ابزارهای هاست انجام دهید. برای اکثر سایت‌ها همان DISALLOW_FILE_EDIT کافی است؛ این حالت فقط برای سایت‌هایی که پایداری برایشان از راحتی مهم‌تر است پیشنهاد می‌شود.

روش سوم: استفاده از افزونه‌ی امنیتی (بدون کد)

اگر اصلاً نمی‌خواهید به فایل‌ها دست بزنید، بیشتر افزونه‌های امنیتی معتبر وردپرس گزینه‌ای یک‌کلیکی برای همین کار دارند و پشت صحنه همان ثابت DISALLOW_FILE_EDIT را اعمال می‌کنند. برای مثال در Wordfence بخش «Disable Code Editing» و در Solid Security (نام قبلی iThemes Security) گزینه‌ی «WordPress Tweaks ← File Editor» این کار را انجام می‌دهد. تنها نکته این است که نصب یک افزونه‌ی کامل امنیتی صرفاً برای این تنظیم ساده، کمی زیاده‌روی است؛ اگر از قبل چنین افزونه‌ای دارید از همان استفاده کنید، در غیر این صورت روش wp-config سبک‌تر است.
گزینه غیرفعال‌سازی ویرایشگر فایل در تنظیمات افزونه امنیتی وردپرس

چطور بعداً ویرایشگر را دوباره فعال کنم؟

اگر روزی واقعاً به ویرایشگر داخلی نیاز پیدا کردید، کافی است دوباره به wp-config.php بروید و مقدار ثابت را به false تغییر دهید یا کل آن خط را حذف کنید. با ذخیره‌ی فایل، ویرایشگرها بلافاصله به پیشخوان برمی‌گردند. اگر از افزونه‌ی امنیتی استفاده کرده‌اید، همان گزینه را در تنظیمات افزونه خاموش کنید.

جدول مقایسه‌ی سه روش

این جدول کمک می‌کند بر اساس سطح فنی و نیاز خودتان، بهترین روش را انتخاب کنید:
روشسطح دشوارینیاز به دسترسیمناسب برایبه‌روزرسانی از پیشخوان
DISALLOW_FILE_EDIT در wp-configمتوسطمدیر فایل هاست یا SFTPاکثر سایت‌هاباز می‌ماند
DISALLOW_FILE_MODSمتوسطمدیر فایل هاست یا SFTPسایت‌های حساس / تولیدبسته می‌شود
افزونه‌ی امنیتیآسانپیشخوان وردپرسکسانی که افزونه امنیتی دارندباز می‌ماند

پیشنهاد ما برای شروع

برای اکثر سایت‌ها، افزودن خط DISALLOW_FILE_EDIT به wp-config.php بهترین تعادل بین امنیت و راحتی است: امنیت زیاد، بدون دردسر عملیاتی. اگر سایتتان حساس است و به‌روزرسانی را دستی مدیریت می‌کنید، سراغ DISALLOW_FILE_MODS بروید. اگر هم اهل کد نیستید، گزینه‌ی افزونه‌ی امنیتی در دسترس است.

میزبانی امن وردپرس در وب‌داده

بخشی از امنیت سایت، پیش از هر تنظیمی، به بستر میزبانی برمی‌گردد: دسترسی ساده به فایل‌هایی مثل wp-config.php، امکان بکاپ و بازگردانی سریع، و پشتیبانی که در لحظه‌ی بحران کنارتان باشد. ما در وب‌داده تلاش کرده‌ایم این کارها را ساده‌تر کنیم:
✅ زیرساخت سرورهای نسل جدید HPE (Gen11 و Gen10) برای پایداری و سرعت بالا.
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن.
✅ کنترل‌پنل سی‌پنل با مدیر فایل برای ویرایش امن wp-config.php و بازگردانی بکاپ.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در ویرایش فایل‌های پیکربندی و امن‌سازی سایت.

تجربه‌ی پشتیبانی وب‌داده

در تیم پشتیبانی وب‌داده بارها پیش آمده که کاربری برای یک تغییر کوچک، فایل پوسته را از همان ویرایشگر داخلی وردپرس ویرایش کرده، یک نقطه‌ویرگول جا افتاده و کل سایت با صفحه‌ی سفید از کار افتاده است. راه‌حل ما همیشه ساده بوده: از طریق مدیر فایل هاست، فایل را به نسخه‌ی سالم برمی‌گردانیم و در چند دقیقه سایت باز می‌شود. همین تجربه‌ی تکرارشونده بهترین دلیل برای بستن ویرایشگر فایل است.
اگر به‌دنبال بستری مطمئن برای وردپرس هستید، می‌توانید سرور مجازی ایران وب‌داده را ببینید. برای مدیریت ساده‌ترِ نصب و نگهداری وردپرس روی سی‌پنل هم مطلب جعبه ابزار وردپرس در هاست سی‌پنل (WP Toolkit) کمک‌کننده است.

معایب و محدودیت‌هایی که باید بدانید

صادقانه بگوییم، بستن ویرایشگر فایل معجزه نمی‌کند و محدودیت‌هایی دارد. نخست، این کار فقط دسترسی «از طریق پیشخوان» را می‌بندد؛ اگر مهاجم به SFTP، مدیر فایل هاست یا دیتابیس شما دسترسی پیدا کند، همچنان می‌تواند فایل‌ها را ویرایش کند. پس این روش جای امنیت لایه‌ای (رمز قوی، ورود دومرحله‌ای، به‌روزرسانی مرتب) را نمی‌گیرد. دوم، اگر حالت سخت‌گیرانه‌ی DISALLOW_FILE_MODS را انتخاب کنید، به‌روزرسانی و نصب افزونه از پیشخوان قطع می‌شود و باید آن را دستی مدیریت کنید. سوم، بنا بر یادداشت رسمی وردپرس، بعضی افزونه‌ها که به قابلیت edit_plugins وابسته‌اند ممکن است پس از این تغییر درست کار نکنند؛ اگر افزونه‌ای دچار مشکل شد، این تنظیم را به‌عنوان یکی از علت‌های احتمالی بررسی کنید. جمع‌بندی: این کار یک قدم لازم و ساده در امن‌سازی است، اما باید در کنار سایر لایه‌های امنیتی دیده شود، نه به‌جای آن‌ها.

پرسش‌های پرتکرار

جمع‌بندی و چک‌لیست نهایی

دیدیم که ویرایشگر فایل پوسته و افزونه یک میان‌بر راحت اما پرخطر است که هم دست کاربر کم‌تجربه را برای خراب کردن سایت باز می‌گذارد و هم در صورت هک، به مهاجم دسترسی مستقیم می‌دهد. بستن آن با سه روش ممکن است: یک خط DISALLOW_FILE_EDIT در wp-config.php برای اکثر سایت‌ها، ثابت DISALLOW_FILE_MODS برای سایت‌های حساس، و گزینه‌ی یک‌کلیکی افزونه‌های امنیتی برای کسانی که اهل کد نیستند. مهم‌ترین پیام را فراموش نکنید: این کار یک قدم لازم است، اما باید در کنار بکاپ منظم، به‌روزرسانی و رمز قوی دیده شود، نه به‌جای آن‌ها.

چک‌لیست سریع

✅ اول از سایت و به‌ویژه فایل wp-config.php بکاپ بگیرید.
✅ خط define(‘DISALLOW_FILE_EDIT’, true); را بالای «stop editing» در wp-config.php بگذارید.
✅ سایت‌های حساس: به‌جای آن از DISALLOW_FILE_MODS استفاده کنند.
✅ اگر اهل کد نیستید، از گزینه‌ی افزونه‌ی امنیتی استفاده کنید.
✅ با مراجعه به منوی «نمایش» و «افزونه‌ها»، حذف شدن «ویرایشگر فایل» را تست کنید.
✅ امنیت را یک فرایند مداوم ببینید: رمز قوی، ورود دومرحله‌ای و به‌روزرسانی را ادامه دهید.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
منابع: مستندات رسمی Editing wp-config.php و راهنمای Hardening WordPress در WordPress.org Developer Resources، و راهنمای Disable Theme and Plugin Editors در WPBeginner.
وب داده
وب داده

جدید ترین مطالب آموزشی و کاربردی را در اینجا بخوانید !
ما با بهره‌گیری از دانش روز و تجربه متخصصان حوزه فناوری، مجموعه‌ای از آموزش‌های کاربردی و مقالات تخصصی را گردآوری کرده‌ایم که هر یک، پاسخی دقیق به پرسش‌های شماست. ؛ از مفاهیم پایه تا پیچیده‌ترین تکنیک‌های حرفه‌ای. اینجا، دانش با زبانی ساده اما عمیق در اختیار شما قرار می‌گیرد.

مقاله‌ها: 45
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *