چند سال پیش، در بازبینی امنیتی یکی از سایت‌های مشتری، متوجه شدم که سه کاربر با نقش مدیر در سایت وجود دارد که هیچ‌کدام صاحب سایت نیستند و یکی از آن‌ها شش ماه پیش از شرکت جدا شده. خبر بدتر این بود که یکی از این حساب‌ها، رمز عبورش هرگز تغییر نکرده بود و به‌عنوان در پشتی برای نفوذ، باز مانده بود. آن روز فهمیدم که مدیریت کاربران و نقش‌ها در وردپرس، به‌نظر یک تنظیم ساده می‌رسد اما در واقع یکی از حیاتی‌ترین لایه‌های امنیتی سایت است. این مقاله، حاصل تجربه‌های همین مسیر است: نقش‌های پیش‌فرض، نقش‌های سفارشی، مدیریت دسترسی‌ها و اشتباهاتی که در پروژه‌های واقعی زیاد دیده‌ام.

چرا مدیریت کاربران و نقش‌ها در وردپرس این‌قدر حیاتی است؟

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

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

در تجربه‌ام، بیشترین آسیب از سه اشتباه ساده می‌آید: نگهداری کاربران قدیمی، اعطای نقش مدیر بدون نیاز واقعی و نبود سیاست رمز عبور. هرکدام از این اشتباهات، به‌تنهایی می‌تواند به نفوذ جدی منجر شود.

در وردپرس، هر کاربر یک کلید خانه شماست؛ حتی کلیدی که فکر می‌کنید دیگر استفاده نمی‌شود.

نقش‌های پیش‌فرض وردپرس و تفاوت دقیق آن‌ها

وردپرس به‌طور پیش‌فرض، پنج نقش کاربری (User Role) دارد که هرکدام سطح مشخصی از دسترسی‌ها را فراهم می‌کنند. در تجربه‌ام، بیشترین اشتباه کاربران از نبود درک دقیق این پنج نقش می‌آید.

مدیر (Administrator)

مدیر، بالاترین سطح دسترسی است. یعنی می‌تواند همه کارهای مدیریتی را انجام دهد: افزودن کاربر، نصب افزونه، تغییر قالب، ویرایش کد و حذف محتوا. در تجربه‌ام، نقش مدیر باید فقط به یک یا دو نفر اصلی داده شود. هر مدیر اضافی، یک ریسک امنیتی است.

ویرایشگر (Editor)

ویرایشگر، می‌تواند محتوای همه کاربران را مدیریت کند. یعنی نوشته‌ها، برگه‌ها و دیدگاه‌ها را در همه سطوح ویرایش و منتشر کند اما به تنظیمات سایت، افزونه‌ها و قالب دسترسی ندارد. این نقش، برای مدیران محتوایی که نیازی به دسترسی فنی ندارند، مناسب است.

نویسنده (Author)

نویسنده، فقط می‌تواند نوشته‌های خودش را مدیریت کند. یعنی نوشتن، انتشار، ویرایش و حذف نوشته‌های شخصی. دسترسی به نوشته‌های دیگران یا تنظیمات سایت ندارد.

مشارکت‌کننده (Contributor)

مشارکت‌کننده، می‌تواند نوشته بنویسد اما نمی‌تواند منتشر کند. یعنی پیش‌نویس‌ها را ذخیره می‌کند و منتظر تأیید ویرایشگر یا مدیر می‌ماند. این نقش، برای نویسندگان میهمان یا تازه‌کار مناسب است.

مشترک (Subscriber)

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

مقایسه سریع پنج نقش پیش‌فرض

برای درک بهتر تفاوت‌ها، یک جدول ساده از سطح دسترسی هر نقش تهیه کرده‌ام:

قابلیتمدیرویرایشگرنویسندهمشارکت‌کنندهمشترک
نوشتن پیش‌نویسبلهبلهبلهبلهخیر
انتشار نوشتهبلهبلهبلهخیرخیر
ویرایش نوشته دیگرانبلهبلهخیرخیرخیر
مدیریت دیدگاه‌هابلهبلهخیرخیرخیر
مدیریت کاربرانبلهخیرخیرخیرخیر
نصب افزونهبلهخیرخیرخیرخیر
ویرایش قالببلهخیرخیرخیرخیر

این جدول، ساده‌شده است. یعنی در عمل، هر نقش می‌تواند ده‌ها قابلیت (Capability) مختلف داشته باشد. اما برای تصمیم‌گیری‌های روزمره، همین تصویر کافی است.

سیستم Capabilities: قلب مدیریت دسترسی در وردپرس

در قلب سیستم مدیریت دسترسی وردپرس، مفهومی به نام Capability (قابلیت) قرار دارد. یعنی هر نقش، مجموعه‌ای از قابلیت‌هاست که به‌طور دقیق مشخص می‌کند چه کاری می‌تواند انجام دهد یا نه.

نمونه قابلیت‌های رایج

چند قابلیت رایج که در اکثر نقش‌ها وجود دارد:

  • read: خواندن پایه، که همه نقش‌ها دارند.
  • edit_posts: ویرایش نوشته‌های خود.
  • publish_posts: انتشار نوشته.
  • edit_others_posts: ویرایش نوشته‌های دیگران.
  • manage_options: دسترسی به تنظیمات سایت.
  • install_plugins: نصب افزونه.
  • edit_theme_options: ویرایش تنظیمات قالب.

در تجربه‌ام، درک دقیق Capability‌ها، تفاوت بین مدیریت کاربران سطحی و مدیریت حرفه‌ای است. یعنی وقتی بدانید هر نقش دقیقاً چه Capability‌هایی دارد، می‌توانید دسترسی‌ها را در سطح دقیقی تنظیم کنید.

بررسی Capability در کد

در وردپرس، می‌توانید به‌طور مستقیم Capability کاربر را بررسی کنید. یعنی در هر جای کد، این امکان وجود دارد:

if ( current_user_can( 'manage_options' ) ) {
    // فقط مدیران می‌توانند این بخش را ببینند
}

این تکنیک، در ساخت نقش‌های سفارشی و کنترل دقیق دسترسی‌ها بسیار مفید است. اصول کامل در توابع وردپرس برای مدیریت نقش‌ها و دسترسی‌ها آمده است.

در وردپرس، نقش سطح دسترسی است، اما Capability سطح دقیق کار؛ تفاوت این دو، تفاوت تصمیم ساده و تصمیم حرفه‌ای است.

چگونه نقش سفارشی در وردپرس بسازیم؟

در پروژه‌های واقعی، پنج نقش پیش‌فرض وردپرس همیشه کافی نیستند. یعنی در بعضی سناریوها، نیاز به نقش سفارشی دارید که دقیقاً با نیاز کسب‌وکار شما هم‌خوان باشد.

چه زمانی به نقش سفارشی نیاز دارید؟

سه سناریو اصلی که در تجربه‌ام به نقش سفارشی نیاز داشتم. اول، فروشگاه‌های اینترنتی که نیاز به نقش «مدیر فروشگاه» داشتند. دوم، سایت‌های آموزشی که نیاز به نقش «مدرس» داشتند. سوم، سایت‌های چندنویسنده که نیاز به نقش «ویرایشگر بخش» داشتند.

ساخت نقش سفارشی با کد

برای ساخت نقش سفارشی، از تابع add_role استفاده می‌شود. یعنی در فایل functions.php قالب فرزند یا در افزونه اختصاصی، می‌توانید نقش جدید تعریف کنید:

add_role(
    'shop_manager',
    'مدیر فروشگاه',
    array(
        'read' => true,
        'edit_posts' => true,
        'publish_posts' => true,
        'edit_products' => true,
        'manage_woocommerce' => true,
    )
);

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

بهترین شیوه ساخت نقش سفارشی

در تجربه‌ام، سه شیوه کلیدی برای ساخت نقش سفارشی وجود دارد. اول، تعریف نقش در افزونه اختصاصی: یعنی نه در فایل functions.php قالب، چون در تغییر قالب از دست می‌رود. دوم، استفاده از hook init: یعنی نقش، فقط یک بار و در زمان راه‌اندازی سایت ثبت شود. سوم، مستندسازی Capability‌ها: یعنی کامنت‌گذاری دقیق برای آینده. اصول کامل در هوک‌های وردپرس چیستند و چگونه کار می‌کنند آمده است.

مدیریت کاربران: افزودن، ویرایش و حذف

مدیریت روزمره کاربران، بخش مهمی از مدیریت سایت است. یعنی افزودن کاربر جدید، ویرایش نقش، و حذف کاربران قدیمی، فعالیت‌هایی هستند که در بلندمدت، تفاوت جدی در امنیت و ساختار سایت ایجاد می‌کنند.

افزودن کاربر جدید

افزودن کاربر در وردپرس، از مسیر «کاربران → افزودن جدید» انجام می‌شود. یعنی نام کاربری، ایمیل، رمز عبور و نقش کاربر را وارد می‌کنید. در تجربه‌ام، سه نکته کلیدی در افزودن کاربر وجود دارد: نام کاربری ساده و قابل حدس نباشد، ایمیل معتبر باشد و نقش، دقیقاً مطابق نیاز باشد. اصول کامل در چگونه کاربر جدید به وردپرس اضافه کنیم آمده است.

ویرایش کاربر و نقش

ویرایش کاربر، از مسیر «کاربران → همه کاربران → ویرایش» انجام می‌شود. یعنی می‌توانید نام، ایمیل، رمز عبور و نقش کاربر را تغییر دهید. در تجربه‌ام، نکته مهم در ویرایش کاربران، بازبینی دوره‌ای نقش‌هاست. یعنی هر سه ماه، نقش همه کاربران را بازبینی کنید و در صورت نیاز تغییر دهید.

حذف کاربر

حذف کاربر، در ظاهر ساده است اما در تجربه‌ام، یک نکته مهم دارد: قبل از حذف کاربر، محتوای آن کاربر را به کاربر دیگری منتقل کنید. یعنی اگر کاربری که حذف می‌شود، نوشته‌هایی در سایت دارد، آن‌ها باید به یک کاربر دیگر منتقل شوند تا از دست نروند.

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

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

سیاست رمز عبور در وردپرس

وردپرس به‌طور پیش‌فرض، سیاست رمز عبور سختی ندارد. یعنی می‌توانید رمزهای ضعیف مثل 123456 را برای کاربران تعریف کنید. در تجربه‌ام، افزودن سیاست‌های رمز عبور، یکی از مهم‌ترین گام‌های امنیتی است. یعنی حداقل ۱۲ کاراکتر، ترکیب حروف بزرگ و کوچک، اعداد و علائم ویژه. اصول کامل در مدیریت رمز عبور امن چه اصولی دارد آمده است.

ریست رمز عبور دوره‌ای

در تجربه‌ام، ریست رمز عبور دوره‌ای برای مدیران سایت، یک قاعده امنیتی جدی است. یعنی هر سه ماه، رمز عبور مدیران را تغییر دهید. این کار، حتی اگر رمز قبلی افشا شده باشد، دسترسی مهاجم را قطع می‌کند.

اجبار به تغییر رمز پیش‌فرض

یکی از پرتکرارترین اشتباهات، نصب وردپرس با رمز پیش‌فرض و فراموشی تغییر آن است. یعنی خیلی از سایت‌ها با رمز پیش‌فرض هک شده‌اند چون صاحب سایت فراموش کرده رمز را عوض کند. اصول کامل در مطالب مرتبط با امنیت وردپرس آمده است.

احراز هویت دو مرحله‌ای بر اساس نقش کاربری

احراز هویت دو مرحله‌ای (2FA - Two-Factor Authentication)، یکی از مؤثرترین لایه‌های امنیتی است. در تجربه‌ام، این لایه، به‌خصوص برای نقش‌های مدیریتی، ضروری است.

چرا احراز هویت دو مرحله‌ای اهمیت دارد؟

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

پیاده‌سازی 2FA بر اساس نقش

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

افزونه‌های مدیریت کاربران و نقش‌ها

افزونه‌های مختلفی برای مدیریت کاربران و نقش‌ها وجود دارند که هرکدام مزیت‌های خاص خودشان را دارند. در تجربه‌ام، سه دسته افزونه اصلی مفیدند.

افزونه‌های ویرایش نقش

این دسته از افزونه‌ها، به شما امکان می‌دهند نقش‌ها و Capability‌ها را به‌طور دقیق ویرایش کنید. یعنی بدون نیاز به کد، می‌توانید نقش جدید بسازید یا Capability‌های نقش‌های موجود را تغییر دهید.

افزونه‌های مدیریت کاربران

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

افزونه‌های امنیتی

افزونه‌های امنیتی، بخش جدایی‌ناپذیر مدیریت کاربران هستند. یعنی افزونه‌های امنیتی معتبر، امکاناتی مثل محدودسازی ورود ناموفق، 2FA و لاگ فعالیت کاربران را فراهم می‌کنند. اصول کامل در بهترین افزونه‌های امنیتی وردپرس برای محافظت از سایت آمده است.

نقش‌های کاربری در ووکامرس

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

نقش‌های پیش‌فرض ووکامرس

ووکامرس، دو نقش جدید به نقش‌های وردپرس اضافه می‌کند: «مدیر فروشگاه» و «مشتری». یعنی مدیر فروشگاه، دسترسی به مدیریت محصولات، سفارش‌ها و تنظیمات فروشگاه دارد. مشتری، فقط می‌تواند سفارش‌ها و اطلاعات شخصی خودش را ببیند.

نقش‌های سفارشی در ووکامرس

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

نقش مشتری در ووکامرس

نقش مشتری، یکی از پرتکرارترین نقش‌های ووکامرس است. یعنی هر ثبت‌نام جدید در فروشگاه، به‌عنوان مشتری ثبت می‌شود. در تجربه‌ام، نکته مهم در مدیریت نقش مشتری، پاک‌سازی دوره‌ای مشتریان غیرفعال است. یعنی مشتریانی که سال‌ها خرید نکرده‌اند، می‌توانند حذف شوند تا ساختار کاربران ساده‌تر بماند.

اشتباهات رایج در مدیریت کاربران و نقش‌ها

در بازبینی سایت‌های مختلف، اشتباهات تکراری زیادی در مدیریت کاربران و نقش‌ها دیده‌ام. این فهرست، مهم‌ترین‌های‌شان است.

نگهداری کاربران قدیمی

اولین اشتباه رایج، نگهداری کاربران قدیمی است. یعنی کاربرانی که سال‌ها پیش در سایت فعال بودند، هنوز در لیست کاربران باقی می‌مانند و در بعضی موارد، همچنان نقش مدیریتی دارند. در تجربه‌ام، بازبینی دوره‌ای کاربران، یک قاعده ضروری است.

اعطای نقش مدیر بدون نیاز واقعی

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

رمز عبور ضعیف

سومین اشتباه رایج، رمز عبور ضعیف است. یعنی حتی مدیران سایت، گاهی از رمزهای ساده استفاده می‌کنند. یعنی رمز ضعیف، کل تلاش‌های امنیتی سایت را بی‌اثر می‌کند.

نبود احراز هویت دو مرحله‌ای

چهارمین اشتباه رایج، نبود احراز هویت دو مرحله‌ای است. یعنی حتی اگر رمز عبور قوی باشد، بدون 2FA، خطر نفوذ جدی است.

نبود بازبینی دوره‌ای

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

حساب‌های مشترک

ششمین اشتباه رایج، استفاده از حساب‌های مشترک است. یعنی چند نفر با یک حساب کاربری وارد می‌شوند. این کار، هم امنیت را کاهش می‌دهد و هم پیگیری فعالیت‌ها را دشوار می‌کند.

روش‌های امن‌سازی ساختار کاربران

بعد از این اشتباهات، حالا روش‌های امن‌سازی ساختار کاربران را جمع می‌کنم. این روش‌ها، نتیجه تجربه‌های واقعی در پروژه‌های مختلف است.

اصل حداقل دسترسی (Principle of Least Privilege)

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

بازبینی دوره‌ای کاربران

هر سه ماه، فهرست کاربران را بازبینی کنید. یعنی سه سؤال را جواب دهید: چه کسانی هنوز در سایت فعال هستند؟ چه کسانی نیاز به نقش مدیریتی دارند؟ چه کسانی باید حذف شوند؟

سیاست رمز عبور سخت‌گیرانه

سیاست رمز عبور را سخت‌گیرانه تنظیم کنید. یعنی حداقل ۱۲ کاراکتر، ترکیب انواع کاراکترها و اجبار به تغییر دوره‌ای برای نقش‌های مدیریتی.

اجبار 2FA برای نقش‌های مدیریتی

احراز هویت دو مرحله‌ای را برای همه نقش‌های مدیریتی و ویرایشگر اجباری کنید. یعنی حتی اگر رمز فاش شود، دسترسی مهاجم قطع است.

فعال‌سازی لاگ فعالیت

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

حذف کاربر پیش‌فرض

کاربر پیش‌فرض ادمین را در روز اول نصب، حذف یا تغییر نام دهید. یعنی هر تلاش مهاجم برای حدس رمز admin، بی‌اثر می‌شود.

در مدیریت کاربران وردپرس، بهترین سیاست امنیتی، سادگی است: هر کاربر فقط همان دسترسی را داشته باشد که برای کارش لازم است، نه بیشتر.

پرسش‌های پرتکرار درباره مدیریت کاربران و نقش‌ها

تفاوت نقش ویرایشگر و مدیر چیست؟

در تجربه‌ام، تفاوت اصلی در سطح دسترسی است. یعنی ویرایشگر، فقط به محتوا دسترسی دارد: نوشته‌ها، برگه‌ها و دیدگاه‌ها. اما مدیر، به همه بخش‌های سایت از جمله تنظیمات، افزونه‌ها، قالب و کاربران دسترسی دارد. یعنی برای کارهای محتوایی، ویرایشگر کافی است و برای کارهای فنی، مدیر لازم است.

چرا نباید به همه کاربران نقش مدیر داد؟

چون نقش مدیر، همه چیز سایت را در اختیار کاربر قرار می‌دهد. یعنی کاربر مدیر می‌تواند افزونه نصب کند، قالب را تغییر دهد یا حتی سایت را کاملاً از بین ببرد. در تجربه‌ام، تنها یک یا دو نفر اصلی باید نقش مدیر داشته باشند.

چگونه نقش سفارشی بسازم؟

چند مسیر برای ساخت نقش سفارشی وجود دارد. اول، با کد و تابع add_role. دوم، با افزونه‌های ویرایش نقش مثل User Role Editor. در تجربه‌ام، برای پروژه‌های کوچک، افزونه کافی است. برای پروژه‌های بزرگ، کد بهتر است چون کنترل کامل دارد. اصول کامل در راهنمای توسعه افزونه وردپرس از صفر آمده است.

آیا 2FA برای همه کاربران ضروری است؟

در تجربه‌ام، 2FA برای نقش‌های مدیریتی و ویرایشگر ضروری است. برای نویسنده و مشارکت‌کننده اختیاری. برای مشترک، به‌طور معمول لازم نیست چون دسترسی محدودی دارند.

اگر کاربری را حذف کنم، محتوایش چه می‌شود؟

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

نقش مشتری در ووکامرس چه دسترسی‌هایی دارد؟

نقش مشتری، در سطح وردپرس فقط می‌تواند وارد پروفایل خودش شود. اما در سطح ووکامرس، می‌تواند سفارش‌های خودش، آدرس‌ها و اطلاعات پرداختش را ببیند. یعنی نقش مشتری، دسترسی مدیریتی به سایت ندارد.

نقش مدیر فروشگاه در ووکامرس چه تفاوتی با نقش مدیر دارد؟

نقش مدیر فروشگاه، فقط به بخش‌های فروشگاهی سایت دسترسی دارد: محصولات، سفارش‌ها، گزارش‌ها و تنظیمات ووکامرس. یعنی به بخش‌های وردپرس مثل افزونه‌ها، قالب و کاربران دسترسی ندارد. یعنی برای کارهای فروشگاهی، مدیر فروشگاه کافی است و نیازی به نقش مدیر نیست.

چطور فعالیت کاربران را پیگیری کنم؟

با افزونه‌های لاگ فعالیت. یعنی ابزارهایی مثل WP Activity Log که همه فعالیت‌های کاربران را ثبت می‌کنند: ورود، خروج، تغییرات محتوا و تنظیمات. در تجربه‌ام، لاگ فعالیت، یکی از مؤثرترین ابزارهای امنیتی و عیب‌یابی است.

چطور کاربر پیش‌فرض ادمین را حذف کنم؟

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

آیا وردپرس سیاست رمز عبور دارد؟

وردپرس به‌طور پیش‌فرض، سیاست رمز عبور سختی ندارد. یعنی می‌توانید رمزهای ضعیف تعریف کنید. یعنی برای سیاست‌های سخت‌گیرانه، باید از افزونه‌های امنیتی مثل Wordfence یا Solid Security استفاده کنید. اصول کامل در مقایسه افزونه‌های امنیتی وردپرس آمده است.

چطور نقش یک کاربر را تغییر دهم؟

از مسیر «کاربران → همه کاربران → ویرایش» می‌توانید نقش کاربر را تغییر دهید. یعنی در بخش «نقش»، نقش جدید را انتخاب و ذخیره کنید. در تجربه‌ام، تغییر نقش، بلافاصله اعمال می‌شود اما برای اطمینان، بهتر است کاربر دوباره وارد شود.

چطور Capability سفارشی بسازم؟

با تابع add_cap یا در تعریف نقش جدید. یعنی می‌توانید Capability سفارشی تعریف کنید و در کد بررسی کنید. یعنی این تکنیک، در پروژه‌های پیچیده که کنترل دقیق دسترسی لازم است، بسیار مفید است. اصول کامل در مطالب مرتبط با توسعه افزونه وردپرس آمده است.

آن‌چه سال‌ها بعد در ساختار کاربران شما می‌ماند

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

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

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

اگر تجربه‌ای از مدیریت کاربران و نقش‌ها در وردپرس دارید — به‌خصوص اگر با یکی از اشتباهات این مقاله به‌طور مشخص مواجه شده‌اید — در دیدگاه‌ها بنویسید. این تجربه‌های میدانی، برای صاحب سایت بعدی که این مسیر را شروع می‌کند، از هر راهنمای رسمی ارزشمندتر است. 👥