אקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?
-
@איש-ימיני אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
עשיתי טופס עם משתמשים לפי הפוסט הזה (הורדתי דוגמה מכאן באדיבות @אוריי )
עשיתי את הטופס מודאלי.
אך ניתן לעקוף את זה בהרבה דרכים.
השאלה איך מאבטחים את זה, שלא יהיה דרך לעקוף את זה?מבחינת מה אתה רוצה לאבטח את זה?
שלא יכלו לסגור את הטופס כניסה?
או הצפנת נתוני וסיסמת המשתמש? -
@איש-ימיני לגבי הסתרת ממשק המשתמש של אקסס:
-
אי אפשר.
-
אפשר לסגור שמשתמש פשוט לא יוכל לפתוח.
אפשר להסתיר את חלון מסד הנתונים, כך שלא יוכלו לצאת ממנו לאפליקציה עצמה.
- אבל אז אפשר לעקוף עם Shift.
אפשר לחסום את הקשת הShift בכניסה. - אבל אפשר לעקוף ולבטל את ההגדרה הזו.
- לסיכום, אפשר לחסום למשתמשים רגילים בלבד.
לא למי שמכיר את התוכנה.
חסימת החלון של מסד הנתונים נעשית בהגדרות המסד.
חסימת האפשרות להקיש שיפט נעשית בקוד VBA. -
-
@musicode
יש גם קוד vba
שמסתיר את כל התוכנה של האקסס,
משתמשים בזה בעיקר-
או בשביל המטרה הנ"ל (חסימת גישה לפרטי המשתמש),
-
או שמישהו השקיע ביופי ורוצה שזה יראה עוד יותר יפה, ולדעתו זה שהתוכנה היא באקסס זה מוריד מהרישמיות שלה, אז מסתיר ואז לא רואים בכלל שזה אקסס,
החסרונות:
-
שאם נתקע משהו או בהתחברות למסד נתונים (כשעובדים כמה על קובץ טפסים שמחובר לקובץ נתונים אחד.) או כל בעיה שהיא - אין אפשרות רגילה לסגור, אלא רק דרך מנהל המשימות (וגם שם זה לא באפליקציות אלא את האקסס ברקע,)
-
צריך להפוך את כל הטפסים ל"מודאלי"
-
אין גישה ישירה לתוכנה אם פתחו תוכנה אחרת - בגלל שזה מעביר את האקסס לרקע ואז גם אין לו סמל בשורת המשימות
ועדיין, דרך הShift אפשר לבטל גם את זה, כי זה פונקציה בvba שמפעילים אותה בכניסה לטופס הראשון, וshift מבטל את כל פעילות הקוד בכניסה,
וגם למה שאמר
@musicode אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:חסימת האפשרות להקיש שיפט נעשית בקוד VBA.
עדיין יהיה אפשר לעקוף כשמעתיקים את התוכנה(משנים מיקום) או מחליפים שם, אז צריך להפוך תוכן לפעיל וכל עוד ולא הפכו לפעיל, הכל פתוח,ן
עכ"פ כמה טיפים, שכן אפשרי לעשות - וקצת יעילים
-
להגדיר את השדה של הסיסמא ל שדה של סיסמא (password) ואז גם בהעתקה לא יוכלו ליראות את הסיסמא (רק ע"י ייצוא של הטבלה הנ"ל).
-
בכל פתיחת טופס(מרכזי בתוכנה) - או פעולה (משמעותית), לבדוק אם המשתמש פעיל, כלומר: אפשר לעשות שבכניסה של המשתמש- אם הוא נכון לציין את זה במשתנה גלובלי שהוא זוהה וכדו', ואז לבדוק את זה בכל הזדמנות כנ"ל.
-
כמובן כל זה כשחוסמים את הגישה לקוד - או ע"י סגירה של הקובץ או ע"י סיסמא לקוד.
-
-
@חייםיודלביץ אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
מבחינת מה אתה רוצה לאבטח את זה?
שלא יכלו לסגור את הטופס כניסה?
או הצפנת נתוני וסיסמת המשתמש?שלא יוכל לגשת לדברים שלא נתתי לו גישה, בשום דרך.
@musicode אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
אפשר לחסום את הקשת הShift בכניסה.
חסימת האפשרות להקיש שיפט נעשית בקוד VBA.אשמח לקבל את הקוד.
@avi-rz אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
וגם למה שאמר
@musicode אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:חסימת האפשרות להקיש שיפט נעשית בקוד VBA.
עדיין יהיה אפשר לעקוף כשמעתיקים את התוכנה(משנים מיקום) או מחליפים שם, אז צריך להפוך תוכן לפעיל וכל עוד ולא הפכו לפעיל, הכל פתוח,
חשבתי להכניס את הקובץ לתיקיה ולהגביל גישה לתיקיה, ולהרשות גישה רק לקובץ עצמו (באמצאות קיצור דרך), רק שיוכלו להעתיק דרך שורת הפקודה, אבל זה כבר מורכב יותר.
עכ"פ כמה טיפים, שכן אפשרי לעשות - וקצת יעילים
-
להגדיר את השדה של הסיסמא ל שדה של סיסמא (password) ואז גם בהעתקה לא יוכלו ליראות את הסיסמא (רק ע"י ייצוא של הטבלה הנ"ל).
-
בכל פתיחת טופס(מרכזי בתוכנה) - או פעולה (משמעותית), לבדוק אם המשתמש פעיל, כלומר: אפשר לעשות שבכניסה של המשתמש- אם הוא נכון לציין את זה במשתנה גלובלי שהוא זוהה וכדו', ואז לבדוק את זה בכל הזדמנות כנ"ל.
-
כמובן כל זה כשחוסמים את הגישה לקוד - או ע"י סגירה של הקובץ או ע"י סיסמא לקוד.
תודה רבה!!
-
-
@איש-ימיני אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
אשמח לקבל את הקוד.
הנה שתי הפונקציות לנעילה ופתיחה: (מקור)
שים לב לאפשר לך עצמך להפעיל אחרי הנעילה את ה-Shift (לדוגמא שים לחצן כלשהו שמריץ את EnableShift()), אחרת גם אתה תסתבך לפתוח את הקובץ...Function DisableShift() 'This function disable the shift at startup. This action causes 'the Autoexec macro and Startup properties to always be executed. On Error GoTo errDisableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line disables the shift key on startup. db.Properties("AllowByPassKey") = False 'The function is successful. Debug.Print "Disabled Shift Key - Successful" Exit Function errDisableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, False) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function Function EnableShift() 'This function enables the SHIFT key at startup. This action causes 'the Autoexec macro and the Startup properties to be bypassed 'if the user holds down the SHIFT key when the user opens the database. On Error GoTo errEnableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line of code disables the SHIFT key on startup. db.Properties("AllowByPassKey") = True 'function successful Debug.Print "Enabled Shift Key - Successful" GoTo ExitHere errEnableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, True) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function
-
@odeddvir אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
@איש-ימיני אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
אשמח לקבל את הקוד.
הנה שתי הפונקציות לנעילה ופתיחה: (מקור)
שים לב לאפשר לך עצמך להפעיל אחרי הנעילה את ה-Shift (לדוגמא שים לחצן כלשהו שמריץ את EnableShift()), אחרת גם אתה תסתבך לפתוח את הקובץ...שיהיה ברור:
זה לא בלתי הפיך.אפשר דרך קובץ אחר לשחרר את זה.
-
@odeddvir אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
@איש-ימיני אמר באקסס | כניסה עם שם משתמש וסיסמה | איך ניתן לאבטח את זה?:
אשמח לקבל את הקוד.
הנה שתי הפונקציות לנעילה ופתיחה: (מקור)
שים לב לאפשר לך עצמך להפעיל אחרי הנעילה את ה-Shift (לדוגמא שים לחצן כלשהו שמריץ את EnableShift()), אחרת גם אתה תסתבך לפתוח את הקובץ...Function DisableShift() 'This function disable the shift at startup. This action causes 'the Autoexec macro and Startup properties to always be executed. On Error GoTo errDisableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line disables the shift key on startup. db.Properties("AllowByPassKey") = False 'The function is successful. Debug.Print "Disabled Shift Key - Successful" Exit Function errDisableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, False) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function Function EnableShift() 'This function enables the SHIFT key at startup. This action causes 'the Autoexec macro and the Startup properties to be bypassed 'if the user holds down the SHIFT key when the user opens the database. On Error GoTo errEnableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line of code disables the SHIFT key on startup. db.Properties("AllowByPassKey") = True 'function successful Debug.Print "Enabled Shift Key - Successful" GoTo ExitHere errEnableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, True) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function
תודה רבה!!!
-
@איש-ימיני
תודה רבה על העזרה
אני מקווה שאפילו שהנושא קצת ישן עדיין אקטואלי
היכן אני שם את הקוד
כי הוא מפעיל את זה רק כשאני נכנס אבל לפני שה הוא לא מבטל את ה shift
תודה -
@דוד-חסיד
יש כאן 2 פונקציות.1 ביטול מקש SHIFT.
Function DisableShift() 'This function disable the shift at startup. This action causes 'the Autoexec macro and Startup properties to always be executed. On Error GoTo errDisableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line disables the shift key on startup. db.Properties("AllowByPassKey") = False 'The function is successful. Debug.Print "Disabled Shift Key - Successful" Exit Function errDisableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, False) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function
2 הפעלת מקש SHIFT.
Function EnableShift() 'This function enables the SHIFT key at startup. This action causes 'the Autoexec macro and the Startup properties to be bypassed 'if the user holds down the SHIFT key when the user opens the database. On Error GoTo errEnableShift Dim db As DAO.Database Dim prop As DAO.Property Const conPropNotFound = 3270 Set db = CurrentDb() 'This next line of code disables the SHIFT key on startup. db.Properties("AllowByPassKey") = True 'function successful Debug.Print "Enabled Shift Key - Successful" GoTo ExitHere errEnableShift: 'The first part of this error routine creates the "AllowByPassKey 'property if it does not exist. If Err = conPropNotFound Then Set prop = db.CreateProperty("AllowByPassKey", _ dbBoolean, True) db.Properties.Append prop Resume Next Else MsgBox "Function 'ap_DisableShift' did not complete successfully." GoTo ExitHere End If ExitHere: Set prop = Nothing Set db = Nothing Exit Function End Function
ואגב זה מגיע מ @OdedDvir
-