איך אתם מתמודדים עם תווים עוקבים בסיסמאות
-
לא אכפת לי שהמשתמש ישים את המספר טלפון או המספר זהות שלו בתור סיסמה, אין לי דרישות מיוחדות לאותיות גדולות או קטנות, למספרים או סמלים. אני רק מבקש דבר אלמנטרי, שלא יעשו כמו כולם את הסיסמה הניצחית והבלתי פריצה
123456
בדקתי בחבילות האלו
https://www.npmjs.com/package/validator
https://www.npmjs.com/package/password-validator
הן בודקות סוגי תווים, מספרים, סמלים, רק את הדבר הבסיסי הזה אף אחד לא בודקעד להיכן הדברים מגיעים, שכאשר שאלה זו עלתה על שולחן מלכים, לא מצאו תשובה ולא מצאו חבילה נורמלית שמטפלת בזה, עד שכתבו לולאות ולולאי לולאות כדי לפתור את זה
https://stackoverflow.com/a/32874782 -
@יוסף-בן-שמעון
https://github.com/zxcvbn-ts/zxcvbnנ.ב. אין להתפלא שחבילה שמטרתה ולידציה לא כוללת לוגיקה מסובכת לבדיקת איכות סיסמה
שים לב שיש בקובץ ה-js מילים שמעצבנים את הרובוט של נטפרי
-
@yossiz אמר באיך אתם מתמודדים עם תווים עוקבים בסיסמאות:
נ.ב. אין להתפלא
ומה אעשה שבעוונותי אני עדיין מתפלא...
זה היה אמור להיות הבדיקה הראשונה, הלא כן?
האם זה לא מגוחך שהחבילה הפופולרית validator נותנת לסיסמה כזוabcd1234
ציון 28, ואם בכלל נדבה רוחו של המשתמש להוסיף אות אחת גדולה הוא מקבל ציון 38
אבל סיסמה כזו רח"ל86259742
מקבלת רק 17.5 -
-
@יוסף-בן-שמעון validator משתמשת בכללים טפשיים, המנגנון הוא הענקת נקודות לפי בדיקות
הגדרות ברירות מחדל:
pointsPerUnique: 1, pointsPerRepeat: 0.5, pointsForContainingLower: 10, pointsForContainingUpper: 10, pointsForContainingNumber: 10, pointsForContainingSymbol: 10
הציון הסופי מחושב ככה (פסאודו קוד):
(len(uniqueChars) * pointsPerUnique) + (len(nonUniqueChars) * pointsPerRepeat) + containsUpper ? pointsForContainingUpper : 0 + containsLower ? pointsForContainingLower : 0 + containsNumber ? pointsForContainingNumber : 0 + containsSymbol ? pointsForContainingSymbol : 0
-
@יוסף-בן-שמעון אתה מנתח ש1234 הינו סיסמה קלה כי הוא רצף. אני חושב שזה מקרי, הבעיה היא שפשוט משתמשים בו מידי הרבה בפועל.
למשל, ABCDEF ייתכן שנחשב אצלך להרבה פחות חמור מאותה סיבה. לעומת זאת QWERTY הוא גרוע באותה מידה של 12345.
במילים אחרות גם סיסמה עם הרכב ממש קשה לסריקת כח גס במלואה, יכולה להיות קלה ביותר בגלל שזה שם של זמר אופנתי. לכן הספריה של הולידציה החליטה לא לטפל בכלל במה שאין לה דרך למצות את הבדיקה ולטפל רק במה שבסמכותה: לבדוק בכלים מתמטיים שהסיסמה נחשבת קשה במחינת הרכבה בהנחה שהיא לא בנאלית.
בשביל למנוע את הבאנליות שהיא משופעת גם מאופנה וגם ממכשירים וכדומה, הכי טוב לקחת ספריה שפשוט מתעסקת עם אנשים בוחרים בפועל מידי הרבה כסיסמה. -
@יוסף-בן-שמעון אמר באיך אתם מתמודדים עם תווים עוקבים בסיסמאות:
לא אכפת לי שהמשתמש ישים את המספר טלפון או המספר זהות שלו בתור סיסמה, אין לי דרישות מיוחדות לאותיות גדולות או קטנות, למספרים או סמלים. אני רק מבקש דבר אלמנטרי, שלא יעשו כמו כולם את הסיסמה הניצחית והבלתי פריצה 123456
עד כמה שאין לך דרישות מיוחדות
אלא רק שהמשתמש ימנע מהכנסת סיסמאות ספציפיות שלא מתאים לךמדוע שלא תבצע בדיקה קטנה בארוע של סיום ההקלדה
האם הקלט מהמשתמש תואם לאחד מהנ"ל
וכו' -
-
תעשה 'גוגל' יש רשימות מוכנות של סיסמאות...
-
לכל העולם ישנם דרישות מיוחדות של הכנסת תווים מיוחדים וסיסמאות מורכבות לפריצה
וע"ז ענה
@dovid אמר באיך אתם מתמודדים עם תווים עוקבים בסיסמאות:
גם סיסמה עם הרכב ממש קשה לסריקת כח גס במלואה, יכולה להיות קלה ביותר בגלל שזה שם של זמר אופנתי
אתה מעוניין לאפשר סיסמא קלה, רק שלא תכיל מחרוזת ספציפית שמציקות לך באופן אישי
זה דבר שתוכל לפתור בקלות בעזרת הנ"ל -