בשנים האחרונות הליך הרשמה אינטרנטי לא יכול להיות שלם ללא רכיב הCAPTCHA. לפני שנציע הצעות וכדי שנוכל להבין לעומק את הנושא נציג כמה דוגמאות ונבחן אותן. בבחינתם נסתכל על כמה קרטריונים:
קל להבנה המשימה אותה אנו אמורים לבצע.
קל לביצוע . קשה לפריצה המטרה העיקרית של הcaptcha היא מניעת בוטים אוטומטים לחדור לאתר במסווה של משתמש אנושי, אבל קיימים היום המון אלגוריתמים שמטרתם לרמות את הcaptch. אם נבחן את רמת הסיבוכיות (כמה היא קלה להבנה ולביצוע) של הcaptcha נראה שהיא עומדת, ברוב המקרים, ביחס ישר לקושי הפריצה שלה. צריך לזכור שהמונח "קשה לפריצה" הוא יחסי ועל כל מנעול חכם תמיד יהיה פורץ חכם יותר, בנוסף לא כל האתרים באינטרנט זקוקים למנגנוני הגנה כבדים ומסורבלים, אם האתר שלכם לא מתעסק במסחר אלקטרוני או מחזיק ברשומות מידע רגישות כלשהן אתם בוודאי תרצו להקל על חווית ההרשמה של המשתמש גם אם זה מגיע על חשבון רמת סיבוכיות ה captcha. בבדיקת השוק נראה שמפתחים לא נוטים להבין מה בדיוק עושה captcha לקשה לפריצה. הגישה הנפוצה של: "בוא נחבר כמה פטרנים משוגעים ו/או כמה צבעים לטסקט ונקווה לטוב" כבר מזמן לא עובדת, לא על בני האנוש ולא על המכונות. היום בקלות יחסית אפשר למצוא פוסטים בנושא שמסבירים למפתחים מהי captcha טובה וכיצד אפשר ליצור אחת (רוב הכותבים אגב הם אקרים), למתעניינים בנושא אפשר להתחיל כאן. עוד לינק שימושי ומעניין: אתרו של האקר הסיני (ששמו בתרגום חופשי הוא כנראה: פורץ-קוד סאן) שממש מציג מחירון למי שליבו חפץ בסקריפט פריצה לסוגי ה captcha השונים. אחרי שהגדרנו את המאפיינים בואו ונבחן מספר דוגמאות שמצאתי באדיבות רשת האינטרנט:
דוגמה1: מיאו, חתולה! דוגמא ל captcha שדווקא לא משתמש בזיהוי אותיות אלה בזיהוי צורות, המטרה: להקיש רק את האותיות שמאחוריהן מסתתר החתול. נראה קל להבנה ודי קשה לפריצה, הבעיה: הרבה יותר קל למצוא את אפי. ואם כבר מצאתי את החתול נראה כי המסכן עבר תאונת דרכים לא נעימה עם משאית. רפי גינת זוהי ה captcha בשבילך.
דוגמה2 :
דוגמה3: animated gif
דוגמה4 : המתמטיקאי
דוגמה5:
דוגמה6: the mighty Google
אם נרכז את התוצאות מהמדגם בטבלה היא תראה כך: אפשר לראות בבירור שאין פתרון שהוא גם פשוט להבנה גם קל לביצוע וגם קשה לפריצה.
התעה לפתרון כדרכי, לעולם לא נעלה בעיה מבלי להציע פתרון:
ניתן לראות בשני הצדדים ציורים שונים לגמרי של פרח אבל ברור לכולם ששני הציורים מייצגים פרח למרות שהציורים שונים זה מזה, הבחנה שהמוח האנושי מסוגל לעשות בקלות אבל למכונה יהיה מאוד קשה לעשות.
מה שמשאיר לנו רק לטפל בקרטריון קושי הפריצה, אפשר בקלות להוריד את מספר הצלחות הפריצה לפחות מאחוז בודד על ידי סדרה של 3 שאלות פשוטות ומהירות . מה שאומר שהפתרון הזה לא מתאים למנגנוני הגנה כבדים יחסית אך הוא בהחלט יכול להקטין משמעותית את מספר הנטישות שקורות במהלך הליך ההרשמה באתרים בסדר גודל קטן יותר.
בפוסט זה לא התייחסתי לסוגיית הנגישות אבל זה לא אומר חלילה שאני ממעיט בחשיבות נושא זה. |