CAPTCHA, שהוצגו בתחילת שנות ה-2000, מעצבנים משתמשים כבר עשרות שנים. ממציאת תמונות של אוטובוס ועד להזנת רצף מוזר של אותיות או פתרון בעיות מתמטיות, ישנן דרכים רבות שאתרים מבקשים ממך להוכיח שאתה לא רובוט.

אבל האם אי פעם תהיתם איך CAPTCHA עובד, ומדוע אתרים מאלצים אתכם לפתור אותם?

מה זה CAPTCHA?

CAPTCHA מייצג בדיקת טיורינג ציבורית אוטומטית לחלוטין כדי להבדיל בין מחשבים לבני אדם. כפי שהשם מרמז, הוא מבחין בין בני אדם למחשבים.

הרעיון הבסיסי של CAPTCHA מסתמך על היעדר אינטליגנציה ממוחשבת לזיהוי דפוסים. מחשב יכול לזהות אותיות אך לא במקרים שבהם הן משתנות או שיש בהן רעשי רקע רבים. בני אדם, בינתיים, מחווטים במשך דורות לזהות ולזהות דפוסים כמנגנון בטיחות.

סוגי CAPTCHA

CAPTCHA מגיע בסוגים שונים, כמה מהם הם:

1. CAPTCHA תמונה מבוססת טקסט

CAPTCHA מבוסס טקסט משתמש בקבוצה של מילים או ביטויים או שילוב אקראי של אותיות, מספרים וסמלים שונים. הוא מייצג רצף של דמויות בצורה מנוכרת שקצת קשה לפרש.

אלה כוללים עיוות, סיבוב, היפוך, תנודות, סגנון אותיות רישיות וחפיפה עם תווים צמודים. כדי לשפר טכניקה זו, CAPTCHA עשוי לכלול גרפיקה כגון קווים, קשתות או נקודות באופן אקראי, הפרוסות לאורך כל התמונה.

instagram viewer

2. אודיו CAPTCHA

Audio CAPTCHA משמש כחלופה ל-CAPTCHA מבוססי טקסט ופונה למשתמשים לקויי ראייה. Audio CAPTCHA מציג הקלטת אודיו של רצף של אותיות או מספרים שהמשתמש צריך להזין בצורה נכונה. שוב, יש עיוות, הפעם בצורה של רעש רקע נוסף. דבר מעניין לציין הוא שמודול ה-CAPTCHA של Python עובד רק עם מספרים.

3. תמונה CAPTCHA

CAPTCHA של תמונה הם חלופה ל-CAPTCHA של תמונות מבוססות טקסט. אלו הם CAPTCHA טיפוסיים שתתמודדו איתם מדי יום.

CAPTCHAs אלה מבקשים ממך לזהות אובייקט מסוים כגון סירה, משאית או ברז כיבוי. הם מציגים את אלה לצד תמונות אחרות לבחירה. אלה הם הרבה יותר ידידותיים לאדם מאשר בדיקות מבוססות טקסט, כמו גם קשה יותר לבוטים לזהות.

4. מתמטיקה, בעיית מילים ו-CAPTCHA פאזל

CAPTCHA מתמטיים מייצגים לעתים קרובות בעיה אריתמטית פשוטה כגון 17 + 23, 16 * 10 או 30/10 עם תוספת אלמנטים גרפיים.

בעיית מילים CAPTCHA מציג רצף של מילים או פריטים קשורים ומבקש ממך למלא את החסר עם התגובה המתאימה.

פאזל CAPTCHA כולל פתרון פאזל מיני כגון החלקת מוט לאורך הנכון כך שהחלק החסר ישלים את התמונה.

5. אין CAPTCHA ReCAPTCHA

גוגל היא הבעלים של ReCAPTCHA שמשתמשת בניתוח סיכונים מתקדם ובאתגרים אדפטיביים כדי למנוע בוטים. ReCAPTCHA מאחזר תוכן מ-Google Street View, עיתונים, ספרים ועוד.

אין CAPTCHA ReCAPTCHA מחייב אותך לסמן את האפשרות "אני לא רובוט" מבלי לבקש ממך לעבור בדיקות כלשהן. זה אפשרי מכיוון שהוא עוקב אחר התנועות ומזהה את הקליק. דבר אחד שיש לציין הוא זה ReCAPTCHA לוכד את המידע הפרטי שלך גם כן.

אתה יכול ליצור א טופס אימות CAPTCHA באמצעות HTML, CSS ו-JS כמו גם שימוש במודול Python CAPTCHA.

מודול ה-CAPTCHA של Python

Python מגיע עם מודול פנטסטי שנקרא CAPTCHA שעוזר לך ליצור CAPTCHA של תמונה ושמע מבוססי טקסט ברגע. למרות שהמודול מספק סגנון וקול גופנים מובנים, אתה יכול להשתמש בנתוני הקול והגופן שלך כדי להתאים אישית CAPTCHA עוד יותר.

כדי להתקין את מודול CAPTCHA בסביבת Python שלך, פתח את חלון המסוף והקלד:

צִפצוּף להתקין captcha

כיצד ליצור CAPTCHA תמונה מבוססת טקסט באמצעות Python

כל קוד המקור להפקת תמונה מבוססת טקסט ואודיו CAPTCHA זמין כאן מאגר GitHub.

אתה יכול לבצע את השלבים הבאים כדי ליצור CAPTCHA תמונה מבוססת טקסט באמצעות Python:

  1. ייבא את ImageCaptcha מודול הממוקם ב captcha.image.
    # ייבוא ​​הספריות הנדרשות
    מ captcha.image יְבוּא ImageCaptcha
  2. ציין רוחב וגובה מותאמים אישית עבור ה-CAPTCHA שלך וצור מופע שלו.
    # ציין מידות
    image = ImageCaptcha (רוחב = 300, גובה = 100)
  3. קח רצף של תווים כקלט משתמש באמצעות ה- קֶלֶט() פונקציה להמיר אותו לפורמט CAPTCHA מבוסס טקסט.
    # הזן את הטקסט כדי ליצור את ה-captcha שלו
    captcha_text = input("נא להזין טקסט: ")
  4. העבר את הטקסט שקיבלת מהמשתמש אל image.generate() כדי ליצור את ה-CAPTCHA.
    # צור את ה-captcha מבוסס הטקסט
    data = image.generate (captcha_text)
  5. העבר את הטקסט של ה-CAPTCHA ואת שם קובץ התמונה יחד עם הסיומת שלו ל image.write() כדי לשמור את התמונה שנוצרה ב-CAPTCHA.
    # שמור את קובץ תמונת ה-captcha
    image.write (captcha_text, (captcha_text) + ".png")

פלט של CAPTCHA תמונה מבוססת טקסט באמצעות Python

אחת התכונות הטובות ביותר של מודול זה היא שהוא יוצר את אותו טקסט בצבעים, סגנונות ועיוות שונים. אלו הן כמה מהדוגמאות שנוצרו.

זהו עוד עיצוב מרתק שנוצר באמצעות אותה תוכנית.

כיצד ליצור CAPTCHA אודיו באמצעות Python

בצע את השלבים הבאים כדי ליצור CAPTCHA אודיו באמצעות Python:

  1. ייבא את AudioCaptcha מודול מ captcha.audio.
    # ייבוא ​​הספריות הנדרשות
    מ captcha.audio יְבוּא AudioCaptcha
  2. צור מופע של AudioCaptcha().
    # יצירת מופע שמע
    audio = AudioCaptcha()
  3. קח ספרות כקלט משתמש באמצעות ה קֶלֶט() פונקציה ליצירת CAPTCHA האודיו שלו.
    # מספר captcha אודיו, למשל: 32135
    captcha_text = input("נא להזין מספר: ")
  4. העבר את הטקסט שקיבלת מהמשתמש אל audio.generate() כדי ליצור את ה-CAPTCHA.
    # צור את ה-captcha מבוסס האודיו
    audio_data = audio.generate (captcha_text)
  5. העבר את הטקסט של ה-CAPTCHA ואת שם קובץ השמע יחד עם הסיומת שלו אל audio.write() כדי לשמור את CAPTCHA האודיו שנוצר.
    # שמור את קובץ השמע
    audio.write (captcha_text, "שֶׁמַע"+captcha_text+'.wav')

אם תזין את המספרים 970322, תוכנית CAPTCHA אודיו זו תיצור audio970322.wav קובץ שמדבר את הספרות ברצף עם הרבה רעשי רקע.

השימושים הרבים של CAPTCHA

תפקידו העיקרי של CAPTCHA הוא למנוע דואר זבל ושימוש לרעה על ידי בוטים באתר. הם עוזרים לשמור על הדיוק של סקרים מקוונים על ידי מניעת בוטים להציף אותם בתגובות שליליות. הם פועלים כשכבת הגנה מפני התקפות כוח גס ומגבילים את מספר הפעמים שמשתמש מנסה להיכנס לאתר.

CAPTCHA יכול גם לסייע במניעת הערות אוטומטיות ויכול לסייע באבטחת שערי תשלום עם הקושי לפתור אותם.