איתור 'פרמטר' לזיהוי מבצע פעולה בדפדפן
-
רקע כללי:
מכירים את זה
שבסופרמרקט הקופאיות לא יכולות לבצע ביטול מוצר
והם צריכות את הכרטיס מנהל,
שמסתובב ביניהם הלוך ושוב ללא שום מנהל וללא שום בקרה
כך שבעצם שלמרות שמפתח התוכנה רצה להגביל את השימוש לפעולת הביטול בהרשאות
בפועל זה חסר משמעות
כי הקלדת הקוד / העברת הכרטיס לא מהווה הוכחה ואינדיקציה שאכן המנהל זה שביצע את הפעולהכ"כ במקומות עבודה רבים
גם בהם שיש הקפדה על רמת הרשאות מותאמת בתוכנה
בדר"כ מסתובב המידע בין העובדים על פרטי זיהוי של משתמש ברמה 1
וגם אם בשוטף כל אחד עובד עם הזיהוי שלו
בשעת הצורך (ופעמים רבות ברשות המעסיק) הוא מבצע פעולות ע"י פרטי הזיהוי של מנהל המערכתרקע משני:
במסדי נתונים - בעת הוספת /עדכון מידע
מקובל לשמור את מזהה המשתמש שביצע את הפעולהבגלל הנ"ל
אני תמיד שומר נתון נוסף של 'שם המחשב' שבו בוצעה הפעולה
ע"מ לקבל אינדיקציה האם זה אכן העובד עצמו שביצע את הפעולה,
או עובד אחר שביצע שימוש בסיסמא ובהרשאות של העובד השניהיות ועבדתי עד היום עם תוכנה 'לוקלית'
שהיה לי גישה מלאה למחשב בעת ההתקנה,
ויכולתי לדעת ולקבל את מלוא הפרמטרים
ולבצע השוואות ואימותים מולם
לא היה לי בעיה להשיג ולקבל את כל המידע הרלוונטיאני כעת בתהליכי מעבר לעולם הWeb
ונפשי בשאלתי
איזה 'פרמטר' מקביל ניתן לקבל מהדפדפן
שאוכל לפיו לדעת/לשער את מקור הפעולה
משהו מעבר לפרטי זיהוי ב Login
(כתובת IP לא רלוונטית למקרה דנן)אני לא מחפש אפשרות לחסום פעולות כלשהם
ואין לי בעיה (כרגע?...) עם המציאות שלעיתים עובד ברמה 3 מבצע פעולה שפתוחה רק לרמה 1 עם שם משתמש של המנכ"לאלא רק רוצה לשמור את הנתון הזה ברמה הטכנית
כדי שביום פקדי, ופקדתי... -
@mekev אין דרך בלי תוכנה משלך או תוסף משלך.
במציאות זה מאוד שונה כשהתוכנה היא וובית, שמה הרבה פחות מקובל לתת הרשאות כי הדפדפן זוכר את הסיסמה, ואף עובד לא שש לתת את זהותו לתמיד לעובד אחר.
אצלנו בעבודה אני משתמש בכניסה באמצעות חשבון גוגל שזה אומר המייל והכל, אף אחד לא משתמש בזהות של השני. אדרבא, גם באותו המחשב טורחים לפתוח פרופיל חדש בדפדפן. -
@mekev
לכאורה עוגיות (cookies) יעזרו לך -
@לעזור-לכולם עוגיות לא יעזרו
-
@יוסף-בן-שמעון
למה לא?
יש cookie אחד של המשתמש שזה לא משתנה
ויש cookie של ההרשאות אם צריך -
@לעזור-לכולם כתב באיתור 'פרמטר' לזיהוי מבצע פעולה בדפדפן:
יש cookie אחד של המשתמש שזה לא משתנה
לפי מה זה ייקבע? איך ידעו לאיזה עוגיה שייך כל מחשב/מכשיר?
ברור שאפשר לעשות זיהוי "פר מחשב" כפי שאמרת,
אבל יהיה קשה לזהות את המחשב.
אתה אכן צודק שיוכלו לדעת מזה על שני משתמשים באותו מחשב, אבל זה מידע מצומצם.
לשם השוואה בתכונה אתה יכול לקחת כתובת MAC ועוד דברים שהם חלק מהמחשב ולא רק "סימן" לעקביות המכשיר. -
@dovid
יש לי כאן קצת אי בהירות, מה @mekev רוצה לעשות
נניח שיש טבלה עם מוצרים ורק עובדים עם דרגה 1 יכולים למחוק (רח"ל) נתונים
או שיהיה אפשרות של לעשות הנחה ללקוחות מסוימים וכו'
והוא רוצה שרק עם סיסמא יוכלו לעשות את הפעולות הנ"ל
אז הוא יכול בהחלט לקחת את שם העובד מהcookie
[כמובן הוא יצטרך להגדיר את הcookies לכל עובד]האם פספסתי משהו?
-
@לעזור-לכולם המקרה המוכר לי אישית הוא שיש משמרת בוקר ומשמרת צהוריים והמשתמש בצהוריים לא טורח לצאת ולהיכנס.
מקרה נוסף זה שהמשתמש לא מצליח לבצע פועלה אז הוא קורא לחברו בעל רמה גבוהה יותר, ומקבל רמה גבוהה יותר וזיהוי כשל חבירו, אח"כ רוצים לדעת מי עמד מול הלקוח והמשתמש עם הרמה הגבוהה לא יידע כלום, וכולי.
אתה צודק ששם המכשיר לא עוזר הרבה, אבל עובדה שגם אני ניצבתי לפני ממש אותה בעיה, לפעמים תורם לדעת מאיזה "עמדה" הפעולה בוצעה בנפרד מהנתון מאיזה משתמש היא.
אתה גם צודק שאתה זה ניתן לפתור על ידי שאלת המשתמש איזה עמדה מדובר ושמירת הנתון בנפרד משסן המשתמש, ואז לקבל גם את מידע המכשיר וגם את המשתמש אבל היה נראה מ@Mekev שהוא רוצה משהו אמין שלא בידי המשתמש כל כך. -
@dovid כתב באיתור 'פרמטר' לזיהוי מבצע פעולה בדפדפן:
שיש משמרת בוקר ומשמרת צהוריים והמשתמש בצהוריים לא טורח לצאת ולהיכנס.
מקרה נוסף זה שהמשתמש לא מצליח לבצע פועלה אז הוא קורא לחברו בעל רמה גבוהה יותר, ומקבל רמה גבוהה יותר וזיהוי כשל חבירו, אח"כ רוצים לדעת מי עמד מול הלקוח והמשתמש עם הרמה הגבוהה לא יידע כלום, וכולי.
לזה גם לא עוזר תוכנה לוקאלית ומאיזה IP כי זה נשאר אותו מחשב בכל מקרה
עוד פיתרון שיכול להיות שיעזור לך/לו במקרה הספציפי,
אם הדפדפנים ו/או המחשבים ו/או מערכות ההפעלה הם מסוג/גירסה אחרת (לדוגמא windows 7 , 10 ,11) -
@לעזור-לכולם כתב באיתור 'פרמטר' לזיהוי מבצע פעולה בדפדפן:
אם הדפדפנים ו/או המחשבים ו/או מערכות ההפעלה הם מסוג/גירסה אחרת (לדוגמא windows 7 , 10 ,11)
יש פתרון כזה שנקרא "טביעת אצבע דפדפנית" זה אוסף מידע רב מהדפדפן מרזולוציה ועד גירסת מערכת ההפעלה ועוד, ומקבן הכל יחד ליצירת זהות יחסית למכשיר.
הדפדפנים בשנים האחרונות נלחמים בזה בגלל הפגיעה בפרטיות (זה בעצם מאפשר מעקב ללא עוגיות וללא שום שליטה של המשתמש), ניתן לקרוא על כך פה בעברית באינטרנט ישראל או בויקיפדיה ובמאמר הזה באנגלית.
זה רלוונטי לאתרי ענק שפונים למגוון של אנשים וממש לא עוזר להבדיל שני מכשירים במקום עבודה. -
@dovid כתב באיתור 'פרמטר' לזיהוי מבצע פעולה בדפדפן:
זה רלוונטי לאתרי ענק שפונים למגוון של אנשים וממש לא עוזר להבדיל שני מכשירים במקום עבודה.
למה לא?
הרי הטביעת אצבע היא ייחודית למכשיר ומשמשת לזהות אותו באופן ייחודי ולא לשיוך לקבוצה (לדוגמה "משתמשי ווינדוס"), מה משנה גודל קהל היעד? -
@mekev למה בשביל לבצע פעולה "מסוכנת" יש צורך לשנות את הזיהוי של מבצע הפעולה לשל בעל ההרשאה?
אפשר לשמור תמיד את היוזר המחובר לחשבון כ"מבצע הפעולה" (ותנקוט באמצעים למניעת שיתוף פרטי התחברות, כמו אלו שהציע @dovid או אימות ביומטרי (טביעת אצבע) לאחר חוסר פעילות X זמן, כדי שתדע שהנתון הזה באמת אמין)
וכאשר הקופאי משה רוצה לבצע פעולה מסוכנת כמו לדוגמה להנפיק החזר על חבילת ופלים, יידרש אישור מנהל - על ידי העברת כרטיס/הקלדת קוד - שמקושר לחשבון מנהל,
אבל האישור מנהל לא ישנה את היוזר שעל שמו רשומה הפעולה - אלא התוכנה תשמור במסד הנתונים ש:- המשתמש שביצע את הפעולה הוא משה הקופאי
- היא אושרה ע"י חיים המנהל
-
הפרמטר שחפשתי
זה אינדיקציה מהיכן הפעולה בוצעהפרט מידע שאוכל לפיו לדעת/לשער
לא שהפעולה בוצעה כל פעם ממכשיר שונה
אלא גם לדעת מה זה המכשיר הנ"לכגון: פעולת כניסה / יציאה בשעון נוכחות
האם עדכון הנוכחות בוצע בטאבלט המותקן בדלת הכניסה למפעל
או אולי במחשב העובד אחרי שהתיישב בניחותא בכסאו אחרי כוס קפה
או בכלל שבוצע בסאמרטפון של העובד בביתו, דקה אחרי שהתעורר / שניה לפני שהולך לישוןאני לא רוצה לחסום את הפעולות במידה ולא בוצעה ממכשיר X
אלא רק רוצה לשמור את הנתון הזה(מהשרשור יוצא שהפתרון אמור להיות באמצעות תוסף ייעודי)
-
@mekev
השמטת מקרה אחד בדוגמאות שלך: העובד קרא למנהל, והמנהל הקיש את הקוד במחשב של העובד (המנהל ישכח מהענין, ואתה תאשים את העובד בביצוע הפעולה בעצמו..).לא מפורט בדיוק במה התוכנה מטפלת (מעבר למה שכתוב בפוסט הראשון) ולכן אולי זה לא רלוונטי במקרה של התוכנה הזו.
האינדיקציה שאתה מחפש הוא סוג המכשיר, ובסביבת ווב אינך יכול לקבל אותו בוודאות, אבל חלקית כן ובסבירות יחסית אפשרי (אפילו בקלות: אם לא מדובר באנשים עם יכולת טכנית מתקדמת, תוכל לשמור טוקן רנדומלי בlocalStorage ולשלוח אותו עם כל בקשה. זה יאפשר להשוות בקשות עם בקשות קודמות וכך לראות שהם יצאו מאותו
מחשבדפדפן).מה שהציע @צדיק-תמים לדעתי נראה מאד הגיוני: באופן רשמי התוכנה מאפשרת להכניס קוד מנהל, כאשר היוזר מחובר לחשבון הרגיל שלו. כדי לבלבל אותך יצטרכו לבקש מהמנהל להכנס לחשבון שלו מדרך המלך.
שעון נוכחות אמור לעבוד רק מהIP של המפעל, אלא אם מותר גם לעבוד מהבית, ואז כתובת הIP היא האינדיקציה ההגיונית ביותר למיקום, בלי קשר לסוג המכשיר.
הטאבלט שבכניסה למפעל אמור להיות מחובר לחשבון כללי. -
@mekev גם אם אתה צריך לשמור גם מאיזו עמדה בוצעה הפעולה ולא רק איזה משתמש, ובשביל זה כנראה באמת תצטרך תוכנת עזר קטנטנה במחשב,
עדיין מה שכתבתי נצרך - ופותר - את הבעיה הראשונה (שבעצם רק אותה כתבת בפוסט הפותח), שאתה רוצה לדעת מי ביצע את הפעולה.
לדעת רק מאיזה עמדה היא בוצעה לא יספיק לך, שהרי יכול להיות שני עובדים במשמרות שמשתמשים באותו מחשב, או שמחליפים עמדות (לדוגמה הקופאי של קופה 3 מחליף מקום עם של קופה 4, כי בקופה 3 מרגישים את המזגן מידי חזק)