אין באמת דרך חיננית לפתור בעיה זו שיכולה לגרום לכולם להיות מאושרים ב -100%. אם אתה מכריח את השימוש בכתובות דוא"ל כשמות משתמש, אתה מקל קל לקבוע אם מישהו שיש לו כתובת דוא"ל נתונה הוא משתמש (בעיית פרטיות). אם אתה מאפשר שמות משתמש שרירותיים, אתה באמת לא יכול להסתובב ולחשוף בסופו של דבר אם שם משתמש מסוים כבר נמצא בשימוש או לא, וכל מה שאתה באמת יכול לעשות זה לנקוט בצעדים כדי להאט משתמש שמנסה לגלות שמות משתמש תקפים.
רישומי משתמשים חדשים הם הבעיה הקשה ביותר להתמודד איתה, משום שאין לעקוף את העובדה שבסופו של דבר תצטרך להתמודד בחן עם התנגשות שם משתמש. הנה אפשרות אפשרית אחת: בקש מהמשתמש להזין כתובת דוא"ל, שם משתמש מוצע והסיסמה הרצויה. לאחר ההגשה, אמת כי הסיסמה מקובלת, ושלח למשתמש כתובת URL לאימות בדוא"ל.
-
אם כתובת הדוא"ל כבר בשימוש, אך קשורה לשם משתמש אחר, שלח דוא"ל למשתמש זה, הזכר לו שכבר יש לו חשבון ושאל אם הוא רוצה אפס את הסיסמה.
-
אם כתובת הדואר האלקטרוני עדיין לא בשימוש, אך שם המשתמש הוא, שלח דוא"ל למשתמש הודעת שגיאה המודיעה לו שהוא צריך לבחור שם משתמש אחר ויש לו להמתין זמן הולך וגדל בין כל ניסיון.
-
אם כתובת הדוא"ל ושם המשתמש חדשים, שלח למשתמש קישור אישור הדוא"ל הדורש אימות מחדש עם שם המשתמש והסיסמה החדשים לפני שהופך אותו לרשמי.
אל לאפשר לשני משתמשים לקבל שם משתמש זהה מתוך הנחה שאתה יכול לזהות אחד או אחר על בסיס הסיסמאות שלהם. בין היתר, אם שני משתמשים יכולים לשתף את אותו שם משתמש, פירוש הדבר שלעולם אינך יכול לנעול את שם המשתמש עקב ניסיונות כניסה כושלים מבלי להשפיע על משתמשי BOTH. וחלילה, אם אי פעם הם יקראו איכשהו את אותה סיסמה מתישהו, כל הגיהינום ישתחרר.
-
אל תשתמש באותו ערך עבור שם משתמש וזהות ציבורית. אינך חייב בהכרח למנוע ממשתמשים להזין את אותו הערך עבור שניהם אם הם באמת רוצים, אך ברירת המחדל צריכה להיות לאפשר למשתמשים (למשל בדבר פורום הודעות) יש להם כינוי ציבורי שלא בהכרח קשור לשם המשתמש איתו הם נכנסים.
-
אל תקצה ברצף מזהי משתמש. השתמש לפחות בערכים אקראיים של 31, עדיף 62 סיביות, שנוצרו ואומתו כמיוחדים בזמן ההרשמה. הדבר הנחמד בערכי 31 ו -62 סיביות הוא העובדה שהם מתורגמים בקפידה למחרוזות בסיס 36 ו -12 תווים. בעת ניפוי באגים, הרבה יותר קל לזכור מחרוזת של 6 או 12 תווים באותיות קטנות וספרות מאשר בערך עשרוני בן 6-17 ספרות. החלק הקשה ביותר הוא להגיב לבקשות המציינות מזהה משתמש לא חוקי עם תגובות מזויפות, אך לא ניתן להבחין בהן בקלות בין תגובות זיהוי משתמש אמיתיות באמצעים אלגוריתמיים.
זכרו: אינכם יכולים, ולא תצליחו, לעולם להצליח ב -100% למנוע מהתוקף מדי פעם לאמת אם מזהה משתמש או שם משתמש נתון תקפים או לא. המטרה שלך היא להפוך אותו לאיטי ויקר ככל האפשר, מבלי להכביד בצורה בלתי סבירה על המשתמשים האמיתיים שלך. לקבלת אנלוגיה אמיתית, חשוב על קודי אזור DVD ו- Blu-Ray. כששחקן עלה 500 דולר +, קודי אזור היו דרך יעילה למנוע כמעט מכולם לשחק סרטים שנרכשו מאזור אחר. כעת, כשתוכלו לרכוש נגן Blu-Ray תמורת 80 דולר, ובורר HDMI תמורת 20 דולר ולקבל תמורה בחזרה, אין באמת שום דבר שמונע מחובב סרטים לרכוש רק שניים או שלושה נגני Blu-Ray (אחד לאזור הרצוי). ולהעלות אותם דרך מתג ה- HDMI.
עבור כניסות שגרתיות, היה מעורפל בכוונה לגבי הסיבה שבגינה ניסיון ההתחברות הזה נכשל, אך היה שווה מראש לגבי הסיבות האפשריות ... ותן להם פרטי קשר קונקרטיים של מישהו שיכול לסייע להם. עקוב אחר כניסות שנכשלו ונעול את החשבון אם נעשים יותר מדי ניסיונות כניסה נכשלים.
-
אל תגיד להם על הסף שהחשבון זה עתה נעול, או שהוא כרגע נעול ... אבל אל תתבייש להזכיר את זה כאחת מכמה סיבות אפשריות לכך שנסיון כניסה עלול להיכשל. שמירה על העובדה שחשבון עשוי להינעל ממשתמש שמנסה להתחבר לא תועיל לביטחונך.
-
אינך חייב בהכרח לנעול חשבון באופן קבוע למחצה עקב ניסיונות כניסה כושלים. במקרים רבים, כנראה ש אתה לא צריך , כי אז יצרת מניעת שירות של מניעת שירות. אם לחשבון יש יותר מדי ניסיונות כניסה לא מוצלחים, אתה יכול לבצע נעילה "רכה" למשך 1, 6 או 24 שעות, ובנקודה זו המנעול יסיר את עצמו. זהו התרחיש אחד IMHO שבו לגיטימי לומר למשתמש "לנסות שוב מאוחר יותר".
דוגמת הודעת שגיאה שעשויה להיות מוצגת כשניסיון כניסה נכשל:
שם המשתמש ו / או הסיסמה שהזנת לא התקבלו. ייתכן שהזנת שם משתמש לא חוקי, השתמשת בסיסמה שגויה או ניסית להתחבר עם חשבון שנעול עקב ניסיונות כניסה מוגזמים שנכשלו. אם החשבון נעול, אתה יכול לפנות ל _ __ לקבלת סיוע [, או לחכות ל _ שעות עד שהחשבון ייפתח לבדו ]. שים לב שהודעת שגיאה זו תהיה זהה בכל הכניסות שנכשלו, ללא קשר לסיבה.
אל אמור להם "משהו השתבש, אנא נסה שוב מאוחר יותר" אלא אם כן הבעיה תתקן את עצמה ממש. זה לא ישלה תוקף, ויעצבן משתמשים לגיטימיים ברצינות. זה אחד מחבלי המחמד האולטימטיביים שלי, ובראש רשימת "הדברים הנוראיים שהמפתחים עושים בשם תיאטרון הביטחון". מלבד מעצבן להפליא, אם חשבון מישהו נפגע, הדבר האחרון שאתה רוצה שיעשה הוא לחכות עד מאוחר יותר לפני שתביא אותו לידיעת מישהו.