تم طرح اختبارات CAPTCHA في أوائل العقد الأول من القرن الحادي والعشرين ، وقد أزعجت المستخدمين لعقود حتى الآن. من العثور على صور حافلة إلى إدخال تسلسل غريب من الحروف أو حل مسائل حسابية ، هناك العديد من الطرق التي تطلبها منك المواقع لإثبات أنك لست روبوتًا.

لكن هل تساءلت يومًا عن كيفية عمل اختبار CAPTCHA ، ولماذا تجبرك المواقع الإلكترونية على حلها؟

ما هو اختبار CAPTCHA؟

CAPTCHA تعني اختبار تورينج العام المؤتمت بالكامل لإخبار أجهزة الكمبيوتر والبشر بصرف النظر. كما يوحي الاسم ، فإنه يميز بين البشر وأجهزة الكمبيوتر.

يعتمد المفهوم الأساسي لـ CAPTCHA على نقص ذكاء الكمبيوتر للتعرف على الأنماط. يمكن للكمبيوتر التعرف على الحروف ولكن ليس في الحالات التي يتم فيها تغييرها أو تقديمها مع الكثير من الضوضاء في الخلفية. وفي الوقت نفسه ، فإن البشر مجتهدون لأجيال لاكتشاف وتحديد الأنماط كآلية أمان.

أنواع الكابتشا

يأتي اختبار CAPTCHA بأنواع مختلفة ، ومنها:

1. نص CAPTCHA الصورة

يستخدم اختبار CAPTCHA المستند إلى النص مجموعة من الكلمات أو العبارات أو مجموعة عشوائية من الأحرف والأرقام والرموز المختلفة. إنه يمثل سلسلة من الشخصيات في شكل غريب يصعب تفسيره قليلاً.

instagram viewer

يتضمن ذلك التشويه ، والتدوير ، والتقليب ، والتذبذب ، ونمط الكتابة بالأحرف الكبيرة ، والتداخل مع الأحرف المجاورة. لتحسين هذه التقنية ، قد يتضمن اختبار CAPTCHA رسومات مثل الخطوط أو الأقواس أو النقاط بطريقة عشوائية منتشرة في جميع أنحاء الصورة.

2. صوت الكابتشا

يُعد اختبار CAPTCHA الصوتي بديلاً عن اختبارات CAPTCHA النصية ويلبي احتياجات المستخدمين المعاقين بصريًا. يقدم Audio CAPTCHA تسجيلاً صوتيًا لسلسلة من الأحرف أو الأرقام التي يجب على المستخدم إدخالها بشكل صحيح. مرة أخرى ، هناك تشويه ، هذه المرة في شكل ضوضاء خلفية مضافة. من المثير للاهتمام ملاحظة أن وحدة Python CAPTCHA تعمل فقط مع الأرقام.

3. صورة CAPTCHA

تعد اختبارات CAPTCHA الخاصة بالصور بديلاً عن اختبارات CAPTCHA الخاصة بالصور المستندة إلى النص. هذه هي اختبارات CAPTCHA النموذجية التي ستعالجها يوميًا.

تطلب اختبارات CAPTCHA هذه تحديد كائن معين مثل قارب أو شاحنة أو صنبور إطفاء. يقدمونها جنبًا إلى جنب مع الصور الأخرى للاختيار من بينها. تعد هذه الاختبارات أكثر ملاءمة للإنسان من الاختبارات المستندة إلى النصوص كما أنها أكثر صعوبة في التعرف عليها على الروبوتات.

4. الرياضيات ومشكلة الكلمات ولغز اختبار CAPTCHA

تمثل الرياضيات CAPTCHA غالبًا مشكلة حسابية بسيطة مثل 17 + 23 أو 16 * 10 أو 30/10 مع عناصر رسومية مضافة.

كلمة مشكلة الكابتشا يقدم سلسلة من الكلمات أو العناصر ذات الصلة ويطلب منك ملء الفراغات بالإجابة المناسبة.

يتضمن Puzzle CAPTCHA حل أحجية صغيرة مثل تحريك شريط إلى الطول الصحيح بحيث تكمل القطعة المفقودة الصورة.

5. لا يوجد اختبار CAPTCHA ReCAPTCHA

تمتلك Google برنامج ReCAPTCHA الذي يستخدم التحليل المتقدم للمخاطر والتحديات التكيفية لمنع الروبوتات. يسترد ReCAPTCHA المحتوى من Google Street View والصحف والكتب والمزيد.

لا يتطلب منك اختبار CAPTCHA ReCAPTCHA التحقق من خيار "أنا لست روبوتًا" دون مطالبتك بإجراء أي اختبارات. هذا ممكن لأنه يتتبع الحركات ويحدد النقرة. شيء واحد يجب ملاحظته هو ذلك ReCAPTCHA يلتقط معلوماتك الخاصة أيضًا.

يمكنك إنشاء ملف نموذج التحقق من صحة CAPTCHA باستخدام HTML و CSS و JS وكذلك استخدام وحدة Python CAPTCHA.

وحدة Python CAPTCHA

تأتي لغة Python مع وحدة رائعة تسمى CAPTCHA تساعدك على إنشاء صورة نصية وكابتشا صوتية في لحظات. على الرغم من أن الوحدة توفر نمط خط وصوتًا يحمل في ثناياه عوامل ، إلا أنه يمكنك استخدام بيانات الصوت والخط لتخصيص CAPTCHA بشكل أكبر.

لتثبيت وحدة CAPTCHA في بيئة Python الخاصة بك ، افتح نافذة Terminal واكتب:

نقطة ثَبَّتَ كلمة التحقق

كيفية إنشاء صورة نصية CAPTCHA باستخدام Python

يتوفر كود المصدر بالكامل لإنشاء صورة نصية مخصصة و CAPTCHA صوتي في هذا مستودع جيثب.

يمكنك اتباع هذه الخطوات لإنشاء كابتشا نصية باستخدام لغة بايثون:

  1. قم باستيراد ملف ImageCaptcha وحدة تقع في صورة CAPTCHA.
    # استيراد المكتبات المطلوبة
    من صورة CAPTCHA يستورد ImageCaptcha
  2. حدد عرضًا وارتفاعًا مخصصين لـ CAPTCHA وأنشئ نسخة منه.
    # تحديد الأبعاد
    الصورة = ImageCaptcha (العرض = 300 ، الارتفاع = 100)
  3. خذ سلسلة من الأحرف كمدخلات للمستخدم باستخدام مدخل() تعمل على تحويلها إلى تنسيق CAPTCHA قائم على النص.
    # أدخل النص لإنشاء رمز التحقق
    captcha_text = المدخلات ("الرجاء إدخال النص: ")
  4. قم بتمرير النص الذي حصلت عليه من المستخدم إلى image.generate () لإنشاء الكابتشا.
    # إنشاء الكابتشا المستندة إلى النص
    data = image.generate (captcha_text)
  5. قم بتمرير نص CAPTCHA واسم ملف الصورة مع امتداده إلى image.write () لحفظ صورة CAPTCHA التي تم إنشاؤها.
    # حفظ ملف صورة captcha
    image.write (captcha_text، (captcha_text) + ".بي إن جي")

إخراج اختبار CAPTCHA المستند إلى النص باستخدام Python

تتمثل إحدى أفضل ميزات هذه الوحدة في أنها تولد نفس النص بألوان وأنماط وانحراف مختلفة. هذه بعض الأمثلة التي تم إنشاؤها.

هذا تصميم رائع آخر تم إنشاؤه عبر نفس البرنامج.

كيفية إنشاء اختبار CAPTCHA صوتي باستخدام Python

اتبع هذه الخطوات لإنشاء اختبار CAPTCHA صوتي باستخدام Python:

  1. قم باستيراد ملف الصوت وحدة من كلمة التحقق.
    # استيراد المكتبات المطلوبة
    من كلمة التحقق يستورد الصوت
  2. قم بإنشاء مثيل لـ AudioCaptcha ().
    # إنشاء مثيل صوتي
    الصوت = AudioCaptcha ()
  3. خذ أرقامًا كمدخلات للمستخدم باستخدام مدخل() وظيفة لإنشاء كابتشا الصوت.
    # رقم اختبار captcha الصوتي ، على سبيل المثال: 32135
    captcha_text = المدخلات ("الرجاء إدخال الرقم: ")
  4. قم بتمرير النص الذي حصلت عليه من المستخدم إلى audio.generate () لإنشاء الكابتشا.
    # إنشاء كلمة التحقق المعتمدة على الصوت
    audio_data = audio.generate (captcha_text)
  5. قم بتمرير نص CAPTCHA واسم ملف الصوت مع امتداده إلى audio.write () لحفظ صوت CAPTCHA الذي تم إنشاؤه.
    # حفظ ملف الصوت
    audio.write (captcha_text ، "صوتي"+ captcha_text +'.wav')

إذا قمت بإدخال الأرقام 970322، سيقوم برنامج CAPTCHA الصوتي هذا بإنشاء ملف صوت 970322.wav ملف ينطق الأرقام بالتسلسل مع مجموعة من ضوضاء الخلفية.

الاستخدامات العديدة للكابتشا

تتمثل الوظيفة الأساسية لـ CAPTCHA في منع البريد العشوائي وإساءة استخدام برامج الروبوت على موقع الويب. إنها تساعد في الحفاظ على دقة استطلاعات الرأي عبر الإنترنت من خلال منع الروبوتات من إغراقها بردود سلبية. إنها بمثابة طبقة حماية ضد هجمات القوة الغاشمة وتقيد عدد المرات التي يحاول فيها المستخدم تسجيل الدخول إلى موقع ويب.

يمكن أن يساعد اختبار CAPTCHA أيضًا في منع التعليقات الآلية ويمكن أن يساعد في تأمين بوابات الدفع مع صعوبة حلها.