![]() |
למה להשתמש בO או 0 בקודי אימות?
אני מפתח אתרים כבר שנים רבות,ויצא לי לעבוד עם הרבה לקוחות
חלקם ביקשו קוד אימות לצורך מניעת בוטים(כגון בהרשמות מסויימות ובטפסים מסויימים) כמובן שמבצעים דבר כזה צריך קצת 'להפעיל את המוח' ,וכמובן שאני לא החכם היחיד שחשב על זה... אבל כשאני גולש לתומי באינטרנט ונירשם לאתרים ומקבל קוד אימות אותו אני אמור להקיש אינני מבין מי המתכנת שבנה את קוד האימות? הרי ידוע לכל ילד שהסימנים 0 ו O זהים...מאוד זהים,ואם בונה קוד האימות קצת מתוחכם ונתן להם איזה זווית וכו' בכלל אי אפשר להבחין,ואז המשתמש מנסה מנסה ומנסה להירשם ומשתגע היום ניסיתי להירשם לאתר שבו לא היה אפשרות לרענן את קוד האימות,ו'למזלי' יצא לי 5 פעמים רצוף 0 או O ,טעיתי 5 פעמים. למה פשוט בבנית קוד האימות לא לבטל את התצוגה של O ו 0? רציתי לשמוע מכם,קהילת המתכנתים,האם אתם מודעים לכך? נראה בעני שאלו דברים כה פשוטים. |
או שלדוגמא למה לא להשתמש רק במספרים או רק באותיות
יש כאלה גם שבבוטים שלהם אם זה אות גדולה או קטנה זה גם משמעותי . לא נורא, עוברים (: הלוואי וזה היה הצרות שלנו בחיים. |
לדעתי "הבעיה" שאתה מתאר היא לכל היותר בחירת גופן גרועה.
|
ציטוט:
כמובן שגם הגופן משחק משמעות,אבל למה לא מראש להוריד את 2 התווים האלה? בכל גופן הם קצת זהים ואדם יתבלבל בהם בקלות... |
העובדה ששניהם מעוגלים לא אומרת שהם זהים, בהמון פונטים ניתן להבדיל ביניהם בקלות, אני לא רואה שום סיבה אמיתית לוותר עליהם.
MasterNetwork: אחת המטרות היא להציע כמות מסויימת של אפשרויות פוטנציאליות, בד"כ רצוי שתהיה גדולה. לפי מה שאתה אומר, אולי פשוט נציב ערך קבוע כמו לדוג' 123456, זה יהיה הכי פשוט וסביר להניח שאף אחד לא יתבלבל. עם קצת רצון אפשר ליצור ביטוי שיהיה מספיק אקראי, מספיק קריא ומספיק ברור, לא צריך להיות חכם גדול בשביל זה.. |
ציטוט:
|
אדיר אתה מגזים.. יש הבדל בין להוריד כמה תווים דומים לבין לצור מחרזות קבועה.
לצור קוד רנדומלי שמכיל אותיות ומספרים, רק לא להציג o 0 L l i I 1 אין סיבה שלא תוריד אותם, זה לא שעכשיו האפשרות לנחש את המחרוזת גדולה בהרבה יותר, אלא היא כמעט ולא משמעותית, אם בכלל יש כאלה שמנסים לנחש מחרוזת במקום להתשתמש בOCR. |
אני תומך במה שחיים ונריה אמרו.
זה שיהיה עוד 6-7 תווים לא ימנע מ-OCR או בוט כלשהו לנחש את ה-CAPTCHA, אלא רק יפגע באופן השימוש ובחווית המשתמש... מי לא זוכר את עצמו נאבק להבין אם יש כאן i גדולה או L קטנה? אם זה 0 או O? גם בפונטים שבהם ההבדל הוא מאוד ברור - המשתמש לא רואה לנגד עיניו את כל התווים בפונט, אלא רק את העיגול המוזר והוא צריך להתלבט אם זה o, O או 0. |
מסכים איתך . לפי דעתי העניין הוא שבהתחלה לא חשבו על זה ומאז כולם ככה וכמובן שלהוריד את ה 2 תווחם לא בעיה אבל דורש עוד קצת קוד שלפי דעתי גם עליו התקמצנו .. סך הכל ניראה לי הגיוני שלא חשבו על זה או שחשבו על זה רק מאוחר יותר שזה כבר היה נפוץ .. כמובן שהכי טוב זה להשתמש בשאלות אמריקאיות גם נגד בןטים.. אבל אין לזה סוף..
|
אני עדיין לא מסכים איתכם.
קודם כל אבהיר שהאימרה לגבי הכמות של האפשרויות נאמרה בתגובה להודעה של MasterNetwork ולא לגבי ההסרה של התווים O ו- 0. אם נוריד את O ו- 0 ונוסיף עוד תו אחד לאורך הביטוי (לצורך העניין ביטוי באורך כולל של 7 תווים במקום 6 תווים) נשיג הרבה יותר ביטויים פוטנציאלים גם בלי O ו- 0, זה לא העניין. העניין הוא שאני פשוט לא חושב שזה נכון לפתור את הבעיה בצורה הזו. אני לא חושב שצריך לוותר על התווים האלו רק כי בפונטים מסויימים לא ניתן להבדיל ביניהם בקלות, דניאל, מה שיפגע בשמישות ובחווית המשתמש זאת בחירת הפונט הגרועה שעשה המפתח/ המעצב, לא התווים 0 ו- O. כדי לפתור את הבעיה צריך לבחור בפונט שמתאים למטרה, לא לוותר על התווים האלו. זאת דעתי בכל אופן. |
ציטוט:
אני דוגל ברעיון של כמה שיותר שיהיה נוח ללקוח,וגם לאדם הכי 'מתחיל' לא אדם שחושב ומכיר אתרים מגיע חמש. הרי ברור לך שאדם שניכנס ורואה את הקוד,הוא לא מכיר את הפונטים שאתה שם לו,לכן הוא עלול לטעות,גם בפונט הכי ברור אדם לא בהכרח יודע ש O יותר שמן מ 0, או שאולי זה בכלל o אינני סבור שאדם מן השורה יצליח על הפעם הראשונה לנחש בכל פונט(ראיתי כמה פונטים כבר)... ולכן המסקנה שלי היא שאני לא רוצה שהגולשים יטעו בכלל,שלא יהיה להם קשה בכלל! לכן אני מוריד כל תו שיוביל לטעות. |
א. יש המון אלגוריתמים שמסירים את התווים המבלבלים או לחילופין משתמשים בגופן מתאים יותר.
ב. באופן אישי, אני לא רואה כל סיבה ממשית לשימוש בקאפצ'ה תוצרת בית. |
צריך לעשות את הבאים:
א. גופן ברור וקריא ב. הסרת תווים דומים ג. שינוי צבעים (למשל להגיד למשתמש להקליד רק את התווים בצבע אדום) |
ציטוט:
zoharesh: דווקא דבר כזה קל מאוד לעקוף - אני אשים פילטר בבוט שלי שישאיר רק את האדום. לאלמוג יש גם נקודה חשובה - היום, כשיש שירותים טובים כגון reCaptcha... הצורך לבנות מנוע קאפטצ'ות הוא אפסי... |
למה לא להגדיר:
o=0 0=o i=I i=1 1=i 1=L L=i ??? |
האמת שאני לא חושב שיש סיבה בכלל לעשות קאפצ'ה שצריכה להבדיל בין אות קטנה לגדולה - מבחינתי הן אותו הדבר. אני לא בא להכשיל פה את הגולש, אני בא להכשיל בוטים בלבד.
אם ישתמשו בBrute Force - הסיכוי לשבור קאפצ'ה בשיטה הזאת גם אם היא לא מבדילה בין אותיות קטנות לגדלותו, או O ו-0 - הוא אפסי, אין סיכוי לשבור ככה קאפצ'ה. מבחינת הקריאות - אם לבוט יש מנוע שמצליח לקרוא את הקאפצ'ה אז O ו-0 זה לא מה שיעצור אותו. האמת שאם תקחו דוגמא מהקאפצ'ה של גוגל (Google Recapcha) או מקאפצ'ה של Microsoft תוכלו לשים לב שגם אם תטעו בחצי מהאותיות זה עדיין יעביר אתכם - כי לא מעניין אותם אם פספסת אות, לא זהית אות או הסתבכת עם איזה מספר. אם הצלחת לזהות יותר מחצי מהקאפצ'ה אז אתה כנראה פשוט הסתבכת עם חלק מהאותיות. שימו לב שאם תכתבו את המילה הראשונה בקאפצ'ה כמו שצריך ובמילה השנייה תטעו עדיין תצליחו לעבור את הקאפצ'ה - אני לא יודע את האלגוריתם המדוייק שלהם, אבל אני מנחש שזה כולל בדיקה של כמות האותיות שהוקלדו, בדיקה של חלק מהאותיות שהן נכונות וכו'. מי שרוצה לבדוק את זה בעצמו - http://www.google.com/recaptcha/learnmore |
ציטוט:
ריקפצ'ה יודע מילה אחת בוודאות ואחרת הוא לא יודע. אתה מלמד אותו לקרוא את המילה.. אם המילה קיבלה סטטיסטיקה גבוהה לאותה פירוש כנראה שזה הפירוש. יש המון מוסכמות בנוגע לדיון הזה בעולם.. אני לא מבין למה בכלל להתבחבש פה ולא לעשות גוגל על מחקרים בנושא.. אסכם את הממצאים בקצרה(בעבר עשיתי מחקר בנושא):
רצוי להשתמש בפתרון קפצ'ה קיים |
כל הזמנים הם GMT +2. הזמן כעת הוא 00:07. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ