بررسی فولدر mu-plugins در وردپرس

Avatar
نویسنده: علیرضا برزودی
دوشنبه 11 بهمن 1400
مطالعه: ۵ دقیقه ۰ نظر ۸۸۲ بازدید

Must-Use plugin که معمولاً با نام mu–plugin نیز شناخته می شود افزونه هایی هستند که به توسعه دهندگان این قابلیت را می دهند تا افزونه هایی را ایجاد کنند به صورت پیش فرض روی وب سایت های وردپرسی فعال می باشد و کاربران امکان غیرفعال کردن آنها را ندارند.

تنها راهی که امکان غیرفعالسازی یکی از افزونه های قرار گرفته در این وب سایت را دارید این است که فایل را از پوشه mu-plugins پاک کرده یا جا به جا نمایید. در ابتدا، mu-plugins فقط برای WPMU در دسترس بود، برای آن دسته از سایت هایی که از چندین وبلاگ (multisite) استفاده می کردند. و باعث میشد mu-plugins ها در تمام وب سایت ها فعال باشند.

از وردپرس نسخه ۲٫۸ این ویژگی در main branch قرار گرفت و قسمت ‘MU’ در mu-plugins ها از ‘multi-user’ تبدیل به ‘must-use’ شد . در واقع مفهوم mu plugin از “آیا این ویژگی باید در همه وبلاگ های من ظاهر شود؟”، به “آیا این ویژگی آنقدر مهم است که بتوان آن را به عنوان یک افزونه وردپرس در نظر گرفت؟” تغییر یافت.

مسیر پوشه در mu-plugins

/wp-content/mu-plugins

راه غیرفعال کردن افزونه های mu-plugins این است که به پوشه wp-content/mu-plugins مراجعه کرده و پوشه مربوط به افزونه را حذف کرد

نکته: بطور پیش فرض پوشه mu-plugins در مسیر /wp-content قرار ندارد و باید به طور دستی پوشه mu-plugins را ایجاد کرد.

تغییر مسیر پیش فرض پوشه

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

define('WPMU_PLUGIN_DIR', '/full/path/to/the/new/directory');
define('WPMU_PLUGIN_URL', 'http://URL/to/the/new/directory');

اهمیت و مزایای mu-plugins

اهمیت و مزایای mu-plugins

mu-plugins چطور به ما کمک می کند؟

افزونه های mu-plugins همیشه فعال هستند و نیاز به فعال سازی ندارند و به طور تصادفی توسط کاربران نمیتواند غیر فعال شوند. فعال سازی افزونه های mu-plugins از طریق آپلود در مسیر پوشه mu-plugins است و نیاز به لاگین نیست.

افزونه های mu-plugins قبل از تمامی افزونه های دیگر وردپرس بارگزاری و فراخوانی می شوند. این مورد میتواند باعث افزایش کارایی وردپرس شود. به عنوان مثال با غیر فعال کردن بخش هایی از وردپرس و یا اعمال برخی تنظیمات ( مثلا امنیتی و … ) پیش از اجرای دیگر افزونه ها باعث افزایش عملکرد و امنیت وردپرس خواهد شد.

نکته: اولویت بارگذاری پلاگین های mu-plugins براساس حروف الفبای انگلیسی است.

هشدارهای استفاده از mu-plugins

با تمام مزایایی که برای افزونه های mu-plugins وجود دارد اما نکاتی منفی نیز وجود دارد:

  1.  اعلان های بروزرسانی برای افزونه های mu-plugins در داشبورد وردپرس مشاهده نمی شود و مسولیت بروزرسانی و چک کردن آن به عهده کاربر و یا توسعه دهنده است.
  2. Activation Hooks وردپرس در پوشه mu-plugins غیر قابل اجرا هستند. از Activation Hooks برای اجرا کدهایی برای نصب و یا حذف افزونه استفاده می شود. ممکن است افزونه هایی که از این Activation Hooks استفاده میکنند بدرستی اجرا نشوند.
  3. وردپرس تنها به فایل های php که دقیقا در پوشه mu-plugins قرار دارد توجه میکند و به عنوان پلاگین شناسایی میکند و به سایر فایل های موجود در فولدر های زیر شاخه توجه ندارد. بنابراین افزونه ای که درون فولدر جداگانه قرار دارد اجرا نخواهد شد. برای حل این مشکل میتوان از یک فایل php با محتوای زیر به عنوان proxy PHP loader در درون فولدر mu-plugins استفاده کرد
<?php // mu-plugins/load.php
require WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';

همه چیز درمورد پوشه mu-plugins

همه چیز درمورد پوشه mu-plugins

نتیجه گیری

فولدر mu-plugins به طور پیش فرض در وردپرس جود ندارد و در صورت نیاز کاربر یا توسعه دهنده میتواند آن را ایجاد نماید. فعالسازی دائمی یک افزونه با آپلود یک فایل php در مسیر /wp-content/mu-plugins علاوه بر راحتی کار توسعه دهندگان، میتواند مخاطرات امنیتی نیز به دنبال داشته باشد.

  1. در صورت آپلود فایل مشکوک در پوشه، هکر میتواند با نفوذ به اسکریپت به سرقت اطلاعات به صورت پنهانی و دیگر اهداف خود برسد
  2. در صورت بروز باگ در افزونه، اعلان بروزرسانی در داشبورد قابل مشاهده نیست و کاربر شخصا باید این موارد را به طور دستی بررسی کند.

برای کاهش خطرات راهکار های زیر در این مقاله از آموزش وردپرس پیشنهاد میشود:

  1. تغییر permission این پوشه به ۷۰۰ برای عدم مشاهده توسط سایر کاربران
  2. تغییر نام اجباری پوشه mu-plugins و افزودن اجباری کد های تغییر مسیر پیش فرض به فایل wp-config
  3. اطلاع به کاربر برای تغییر مسیر پیش فرض فولدر افزونه با افزودن کد های ذکر شده در فایل wp- config
  4. توصیه به کاربران برای قرار ندادن افزونه های معمولی در mu-plugin به منظور اطلاع از اعلان های بروزرسانی و آپدیت خودکار

چه افزونه هایی mu-plugins هستند؟

چه افزونه هایی mu-plugins هستند؟

سوالات متداول

1. MU-plugins چیست؟

افزونه هایی که باید از آن استفاده کنید. به آن ها must-use یا mu-plugin نیز گفته می شود. این افزونه ها به طور پیش فرض در وردپرس شما فعال می شوند، همچنین امکان غیرفعال کردن این پلاگین ها وجود ندارد.

2. آیا امکان فعال سازی mu-plugins از داشبورد وجود دارد؟

خیر شما تنها می توانید فعال بودن آن را از طریق داشبورد چک کنید.

با خدمات ابری پارس پک آشنا شوید

اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم