פורסם ב

הגבלת גישה וסידור פאנל הניהול באתר וורדפרס

הגבלת גישה והרשאות באתר וורדפרס

יום שישי 12:00 טלפון בהול מאחד הלקוחות “שומע פתאום נכנסתי לאתר והכל שבור ולא עובד בבקשה תסדר!!”, “נגעת במשהו במקרה לפני שהוא נישבר” אני שואל, “אה כן עידכנתי גרסאות של כל התוספים באתר” עונה הלקוח. אוי ואבוי לי.

בפיתוח נכון עידכון תוסף/וורדפרס לא אמור לשבור תבנית, אך אפילו בפיתוח מושלם לפעמים מחליטים להוציא עידכון גדול בלי תמיכה לאחור כך שבעצם בעידכון כל האתר פשוט נישבר. לכן אני אוהב להגביל את הפאנל ניהול ולאפשר ללקוח גישה רק לדברים שבאמת רלוונטים אליו ובכך לחסוך את הבאלגן ואפילו לספק ממשק נקי מלינקים מיותרים.

היום נעבור על כמה פונקציות שיעזרו לכם לנקות את הפאנל ניהול ולהגביל את הסכנה מעידכונים לא רצויים. כמו כן בסוף המאמר מצורפים תוספים מומלצים שעושים את העבודה.

את כל הפונקציות במאמר יש להכניס לקובץ functions.php

הסתרת עמודים בפאנל ניהול

כל תוסף היום מחליט להוסיף לינק לתפריט הגם ככה עמוס בפאנל ניהול, בגלל שאין איזה חוקיות וכל תוסף עושה כרצונו כבר לאחר 3 תוספים יכול להיווצר באלגן בתפריט. בעזרת שימוש נכון בפונקציה remove_menu_page והפונקציה remove_submenu_page נוכל לנקות את התפריט מלינקים שלא רלוונטים ללקוח.

הסבר מה נעשה פה: בתחילת הקובץ הגדרנו מערך של שמות משתמשים מהם אנחנו לא רוצים להסתיר את העמודים, במערך זה בדרך כלל תיהיה רשימה של מפתחי האתר, כל שאר המשתמשים באתר לא יראו את העמודים אותם אנו מסתירים.

על מנת להסתיר עמוד צריך להעביר את הפרמטר $menu_slug, בדרך כלל מספיק להעביר לפונקציה את מה שמופיע בשורת הכתובת אחרי ה/wp-admin אך יש תוספים מעצבנים שהטריק הזה לא עובד עליהם ומה שצריך לעשות זה לחפש בקבצי התוסף את הפונקציה add_menu_page או add_submenu_page ,בהתאמה למה שאנחנו רוצים להסתיר, ולהעתיק את הפרמטר הרביעי שהוא בעצם ה$menu_slug ואותו להעביר לפונקציה שמסתירה.

הבהרה: פונקציה זאת רק מסתירה את העמוד מהתפריט בפאנל ניהול, אם משתמש יגש לכתובת ישירות הוא יגיע לעמוד.

הבהרה2: לפעמים מספיק להגדיר את המשתמש של הלקוח כEditor, לתפקיד כזה אין הרשאות מלבד לערוך תוכן.

הגבלת גישה לתוספים ועידכוני מערכת

בכל פעם שיוצאת גרסא חדשה לתוסף האירוע מלווה בהודעות בכל העמודים, תווית בשלל צבעים עם מספר התוספים שיש להם עידכון. האירוע חוזר חלילה בכל עידכון וורדפרס שיוצא. כיום עם קצב העידכונים שיוצאים לתוספים ולוורדפרס כמעט כל יום, גם אם נישמור על התוספים מעודכנים, נקבל הודעה כזו.

ניהול הגרסאות של המערכת צריך להתנהל על ידי צוות המפתחים והמתחזקים של האתר כך שהכל יתבצע בצורה מבוקרת מבלי לגרום נזק לאתר בעת העידכון. באמצעות הפילטרים הבאים אנחנו בעצם מבטלים את הבדיקה האם קיימת גרסא חדשה.

על מנת להסתיר עידכונים מתוספים ספציפיים נעביר לפילטר פונקציה שתוריד את מעקב העידכונים מהתוסף.

תוספים מומלצים להגבלת יכולות והרשאות של משתמשים

את כל הדברים הנ”ל אפשר לבצע גם מבלי לדעת לתכנת בעזרת התוספים הבאים

  • Remove Dashboard Access (חינמי) – התוסף מאפשר לבחור אילו תפקידי משתמשים רשאים לגשת לפאנל ניהול, כמו כן לערוך את רשימת היכולות הברירת מחדל של כל תפקיד ועוד.
  • User Role Editor (חינמי) – בנוסף לאופציה של שינוי יכולות ברירת מחדל של משתמשים התוסף מאפשר לייצר תפקידים חדשים ולהגביל אותם בצורה נורא רחבה.

לסיכום

טכניקות אלו נורא שימושיות לניקוי פאנל הניהול מהודעות ולינקים שהלקוח לא צריך להיחשף אליהם. מחד גיסא סיפקנו ללקוח פאנל ניהול נוח וממוקד יותר ומאידך גיסא חסכנו לעצמו פאדיחות של לא להיות ערוכים לעידכונים חדשים.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

אתר זה עושה שימוש באקיזמט למניעת הודעות זבל. לחצו כאן כדי ללמוד איך נתוני התגובה שלכם מעובדים.