برنامه‌نویسی

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


۲۴ مرداد ۱۳۹۹
چگونه دسترسی به صفحه داشبورد وردپرس را محدود کنیم؟

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

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

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

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

برای مثال، اگر شما یک وبسایت که چند نویسنده در آن مشغول به تولید محتوا هستند را راه‌اندازی کرده باشید و بخواهید که ویرایشگران (Editors)، به بخش نوشتن و انتشار محتوا دسترسی داشته باشند و نه چیز دیگری، در این صورت آنها نمی‌توانند تم‌ها یا افزونه‌ها را در زمانی که به وبسایت ورود کرده‌اند، تغییر دهند. یا شاید نخواهید که مشترکان (Subscriber) وبسایت‌تان، به بخش پیشخوان دسترسی داشته باشند!

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

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

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

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

برای انجام این کار می‌توان از بخش مدیریت وردپرس کمک گرفت. به آسانی به بخش تنظیمات (Settings) > عمومی (General) بروید و نقش پیش‌فرض کاربر تازه (New User Default Role) را بر روی مشترک بگذارید.

تنظیم نقش مشترک برای کاربران جدید
تنظیم نقش “مشترک” برای کاربران جدید

شما هر زمان که اراده کنید می‌توانید نقش هر کاربری را که به وبسایت شما دسترسی دارد، تغییر دهید. بنابراین برای تغییر نقش کاربران موجود به بخش کاربران (Users) > همه کاربران (All Users) بروید.

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

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

تفاوت میان این نقش‌ها چیست؟ نقش‌های مختلف در وردپرس به شرح زیر هستند:

  • مدیر/مدیر کل (Administrator): دسترسی به ویژگی‌های مدیریت و هر قابلیت دیگر موجود در سایت. مدیرکل فقط در سایت‌هایی که چندین مدیر آنها را مدیریت می‌کند، در دسترس است.
  • ویرایشگر (Editor): کاربری که می‌تواند نوشته‌های خود و سایر کاربران را منتشر و مدیریت کند.
  • نویسنده (Author): این نوع کاربری می‌تواند پست‌های خود را منتشر و مدیریت کند.
  • مشارکت‌کننده (Contributer): این نوع کاربر می‌تواند نوشته‌های خود را بنویسد و مدیریت کند، اما نمی‌تواند آنها را انتشار دهد.
  • مشترک (Subscriber): همانطور که قبلا اشاره کرده بودیم، بسیار محدود است، فقط به کاربر اجازه می‌دهد که پروفایل خود را مدیریت کند.

همانطور که مشاهده می‌کنید هر نقش، قابلیت‌های مختلفی دارد که در صورت لزوم می‌توانید نقش‌ها را بر روی کاربر یا کاربران مختلف تنظیم کنید یا نقش کاربری آنها را تغییر دهید.

استفاده از کد، برای محدود کردن دسترسی

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

add_action( ‘init’, ‘blockusers_init’ );
function blockusers_init() {
if ( is_admin() && ! current_user_can( ‘administrator’ ) &&
! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}

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

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

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

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

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

۱) Remove Dashboard Access

افزونه‌ وردپرس remove dashboard access
افزونه‌ Remove Dashboard Access

این افزونه‌، روشی ساده و آسان برای محدود کردن دسترسی کاربران به پیشخوان را برای شما به ارمغان می‌آورد. با امتیاز 5 ستاره و بیش از 40 هزار دانلود، این یک گزینه باکیفیت و محبوب برای بسیاری از کاربران وردپرس است.

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

بخش dashboard access settings در افزونه‌ remove dashboard access
در این قسمت، می‌توانید دسترسی به پیشخوان را برای نقش‌های مختلف کاربری تنظیم کنید

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

redirect url در افزونه‌ remove dashboard access
قسمتی که می‌توانید کاربران غیر مجاز را به صفحه‌های دیگر منتقل کنید و پیام ورود به سیستم شخصی سازی شده خود را وارد کنید

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

۲) Branda

افزونه‌ وردپرس branda
افزونه‌ Branda

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

پس از نصب و فعال‌سازی این افزونه‌، برای انجام همه مواردی که درموردشان صحبت کردیم باید به ADMIN AREA بروید و Admin Menu را فعال کنید. در بخش Custom Admin menu، می‌توانید نوار کناری پیشخوان مدیریت را برای نقش کاربری خاص یا حتی یک کاربر خاص، شخصی سازی کنید. یک دکمه سفارشی سازی وجود دارد که با فشردن آن، همه‌ی گزینه‌های موجود را به شما نمایش می‌دهد. اگر می‌خواهید بخشی از منو را برای یک نقش کاربری یا کاربران خاصی محدود کنید و یا تنظیمات دیگری انجام دهید، می‌توانید از لیست کشویی که به شما نمایش داده می‌شود، این کار را انجام دهید.

بخش custom admin menu در افزونه‌ branda
بخش custom admin menu در افزونه‌ branda

اگر شما در ذهن خود تصمیمی برای محدود کردن یک نقش کاربری به‌خصوص گرفته باشید، می‌توانید با انتخاب آن نقش کاربری دسترسی آن را به دلخواه خود، تنظیم کنید (مثلا: مدیریت).

در تصویر بالا، با تنظیم مواردی که برای نقش کاربری مدیر نیاز دارید، منوی کشویی بخش مدیریت به‌صورت خودکار، به‌روز می‌شود و تنظیمات شما اعمال می‌شوند. اگر نیازی به جابه‌جایی یکی از گزینه‌های منوی مدیریت داشتید، به سادگی با Drag&Drop گزینه مورد نظرتان می‌توانید آن را جابه‌جا کنید. زمانی که موس خود را برروی قابلیت‌های موجود در منو قرار بدهید، قابلیت‌های Duplicate و Hide به شما نشان داده می‌شوند. همچنین اگر می‌خواهید یک تنظیمات را برروی تعدادی از گزینه‌ها اعمال کنید، می‌توانید همه آنها را انتخاب کنید و با ایجاد تغییر برروی هرکدام از آنها، همه گزینه‌های انتخاب شده را تغییر دهید.

اعمال قابلیت duplicate برروی گزینه‌های منوی مدیریت
کپی‌کردن گزینه‌های موجود در منوی مدیریت

با استفاده از قابلیت Hide، می‌توانید گزینه مورد نظر خود را پنهان کنید و اگر آن گزینه پنهان بود با استفاده از قابلیت Unhide آن را نمایش دهید یا با استفاده از قابلیت Duplicate، می‌توانید یک گزینه مشابه مانند گزینه موجود در منو را ایجاد کنید (زیر منوها را هم می‌توانید Duplicate کنید). همچنین شما می‌توانید با کلیک بر روی فلش کشویی، قابلیت‌های بیشتری را به هر کدام از گزینه‌ها اضاف کنید. قابلیت‌هایی که در این قسمت در اختیار شما قرار می‌گیرند شامل، اضافه کردن submenu، CSS class و … هستند.

قابلیت‌های اضافه در افزونه‌ branda
قابلیت‌های بیشتر در افزونه‌ Branda

بعد از ایجاد تغییرات، فقط کافی است که برروی گزینه APPLY کلیک کنید و تمام تغییرات ذخیره خواهند شد. شما همیشه می‌توانید تغییرات خود را با استفاده از گزینه discard all changes، به حالت اولیه خود بازگردانید. علاوه‌ بر اینها، افزونه‌ Branda می‌تواند در شخصی شخصی بخش‌های دیگر سایت وردپرسی‌تان به شما کمک کند.

۳) Defender

افزونه‌ وردپرسی defender wordpress security
افزونه‌ Defender WordPress Security

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

تمام اینها با فشار یک دکمه به نام Security Tweaks انجام می‌شود. در این بخش لیستی از ویژگی‌های امنیتی مختلفی نمایش داده می‌شود که می‌توانند در هر زمان فعال و غیرفعال شوند. یکی از این قابلیت‌ها، Disable the File Editor است که می‌تواند در محدود کردن دسترسی به ویرایشگر فایل درونی وردپرس، به ما کمک کند. به سادگی در بخش Security Tweak > Issues > Disable the file editor، بر روی DISABLE FILE EDITOR کلیک کنید.

غیرفعال کردن file editor به کمک افزونه‌ fefender wordpress security
غیرفعال کرن ویرایشگر فایل در وردپرس

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

بخش resolved در افزونه‌ defender wordpress security
نشان می‌دهد که ویرایشگرفایل را غیرفعال کرده‌اید

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

۴) Admin Bar & Dashboard Access Control

افزونه‌ وردپرسی admin bar & dashboard access control
افزونه‌ Admin Bar & Dashboard Access Control

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

بخش dashboard access در افزونه‌ admin bar & dashboard access control
بخش Dashboard Acess

در بخش Admin Bar، می‌توانید نوار مدیریت را برای نقش‌های مختلف کاربری غیرفعال کنید. استفاده این افزونه‌ بسیار ساده و آسان است، گزینه‌ای سریع برای محدود کردن دسترسی مدیریتی کاربران در اختیار شما قرار می‌دهد و مانند افزونه‌ Remove Dashboard Access است.

بخش پایانی

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

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

منبع: https://premium.wpmudev.org/blog/limit-access-wordpress-dashboard