ما هو الـCAPTCHA ؟

ياهلا

ماهو الـCAPTCHA ؟

الCAPTCHA و هي كلمه مختصرة للحروف الاولى لجملة ” Completely Automatic Public Turing Test to Tell Computers and Humans Apart” وتعني بالعربية بما معناه بأنه “نظام التلقائي العام لمعرفة المستخدم نظام الي (كمبيوتر) او انسان ” ولا يوجد لها معني عربي رسمي حتى الان حيث البعض يسميه كود التحقق او كابتشا كترجمة حرفية عن الحروف الانجليزي !

والتقنية عباره عن رموز عادة ما تكون احرف او ارقام او مزيج بينهم او حتى بعض الاحيان تكون عبارة عن اشكال او مسائل رياضية ! وكلها طرق مختلفة في سبيل معرفة اما اذا كان الذي يستخدم الخدمة عبارة عن انسان او روبوت (كمبيوتر) او كما يسميه البعض برنامج ! والهدف منها ان يتعرف الانسان على ما هو مكتوب ولكن يعجز البرنامج او الروبوت عن معرفة ما هو مكتوب في الصورة او ما هو موجود في خانة التأكد من ذلك



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

يتم صناعة الكابتشا عن طريق برمجية تتم عن طريقة لغات البرمجة وفي العادة ما تستخدم لغة الـPHP لانشاء هذه التقنية حيث يتم انشاء الكود بواسطة برمجية البعض يفوم بعملها مبسطة والبعض يزيد تعقيدها كل على حسب طلبه وحاجته ! وتاتي على عدة اشكال ابرزها .

النص

يأتي النص عبارة عن كتابة ويطلب من المستخدم اما نسخ ما هو مكتوب او الاجابة عليه وتأتي بعدة انواع منها :

  • التص العادي : وهو عبارة عن نص مكتوب عادي جدا مثل “123″ او “AzdV” ويقوم مقدم الطلب بكتابة ما هو موجود ويتعبر هذا النوع ابسط انواع الاكواد ويسهل على الروبوت التعرف عليه بكل سهولة واصلا البعض لا يعتبره كود كابتشا !
  • المسائل الرياضية : يقوم البرمج بأنشاء مسائل رياضية مثل “6+5″ او “7643-5678″ ويطلب من المستخدم ادخال الناتج وهذا النوع ايضا يعتبر سهل على الروبوتات نوعا ما خصوصا اذا كان مبرمج الروبوت ذكي
  • السؤال والاجابة \ الاختيار : هذا النوع ياتي ببرمجية يقوم المبرمج بأعدادها مسبقا في ملفات حيث يقوم بكتابة السؤال والاجابة عليه مثلا “ما لون علم ليبيا” وتكون في البرمجية ايضا الاجابة وهي “اخضر” عندما يكتب المستخدم اخضر تكون اجابته صحيحة , او “كم عدد السنوات الفاصلة بين كل كأس عالم لكرة القدم” وتكون الاجابة معدة مسبقا “4″ . وهذا النوع توجد فيه الكثير من المشاكل خصوصا انها تعتمد على المعلومات العامة و اللغة المستخدمه حيث اذا كان السؤال بالعربي او الانجليزي والمستخدم لا يجيد هذه اللغة ! ايضا حساسية الحروف تختلف فـ”أخضر” تختلف عن “اخضر” !!!! مما جعل البعض اضافة الاجابة في خانه الاختيار المتعدد فمثلا يقوم باضافة قائمة فيها “اخضر” و “اصفر” و “اسود” ليختار منها المستخدم الاجابة الصح وعلى فكرة هذا النوع ايضا سهل التخطي

صورة

وهي اكثر انشارا وشهره وتأتي بأشكال وافكار مختلفة ومنها :

  • أبسط انواع الصور هو انشاء صورة بواسطة اكواد برمجية تقوم بكتابة رموز عشوائية في الصورة وتظهر للمستخدم الصورة حتى يقوم المستخدم بكتابة ما ظهر له في الصورة !

  • الكتابة المعقدة : وهي اكثر الانواع انتشارا وهي عبارة عن انواع مثل كتابة حروف متراكبة على بعض او متقاربة جدا ! او تغيير نوع الخطوط المستخدمة او الالوان او الخلفية او تأتي عبارة عن كلمتين ليكونون جملة واحدة ! او تكون عبارة عن حروف متفاوته بعضها بالحروف الكبيرة A وبعضها بالحروف الصغيره a و البعض ايضا يستخدم رموز مثل &%$#



  • مسائل رياضية : وهي كالمسائل الرياضية النصية التي تطرقت لها سابقا لكن تكون في صورة حتى يصعب على الروبوت التعرف عليها ! ومنها ما يأتي صعب ومنها ما يأتي سهل !

  • سؤال واجابة \ الاختيار : وهو نوع من انواع الكابتشا قليل الاستخدام وهو عبارة عن سؤال ويجب على المستخدم الاجابة عليه ! مثل ان يقوم المبرمج بعمل صورة فيها عدد من الاشياء المختلفة مثل ادوات رياضية على سبيل المثال ويطلب من المستخدم كتابة عدد الكرات الموجودة في الصورة ! او عدد الملاعب الموجودة ! او كمثال اخر يقوم المبرمج بعمل صورة فيها عدة صور لحيوانات مختلفة ويطلب من المستخدم الضغط على صورة القط !

- الصوت

وهو عادة ما ياتي كخيار اضافي للصور عند عدم مقدرة المستخدم معرفة ما هو موجود في الصورة وهو نوع قليل جدا وجوده مفردا لصعوبه ذلك على المستخدم حيث يجب وجود سماعات في جهاز المستخدم لسماع ما يقال ليقوم بكتابته ! وليس في كل الحالات المستخدم يستخدم جهاز كمبيوتر فمثلا ماذا لو استخدم جهازه النقال , منصة العاب , جهاز ملاحة , منظم مواعيد !

اين تستخدم الكابتشا ؟

تستخدم الكابتشا عادة في استمارات التسجيل في المواقع او البريد الالكتروني او الخدمات , او استمارات تقديم الطلبات او ادخال المعلومات ! حيث تقوم المواقع باضافة الكابتشا في صفحاتها لمنع الروبوتات او البرامج من اغراق الموقع من طلبات التسجيل بغرض الاطاحه بسيرفرات المواقع او الحصول على اكبر قدر من العضويات , ايضا تستخدمها بعض الموقع التي فيها مزادات حيث يعمد بعض المبرمجين بعمل برنامج يقوم باضافة زيادات على المزاد تلقائيا من ما يسبب اغراق للموقع او بغرض الحصول على السلعة بأقل سعر ممكن دون بذل جهد كبير من المبرمج ! حيث يقوم بعمل برنامج مثلا يقوم بأدخال الحد الادنى للمزاد على كل اضافة يقوم بها اخر شخص غيره ! وبالتالي يضمن الحصول على السلعة !

ايضا تستخدمها المواقع لضمان خصوصية كلمات السر ! فتقوم المواقع باضافة اكواد الكابتشا بعد عدد معين من المحاولات الفاشلة في ادخال كلمة المرور في اي مكان ! حيث يعمد بعض المخترقين الى عمل برنامج يقوم بتجربة كل كلمات المرور أليا الى ان يحصل على كلمة المرور الصحيحة !

المنتديات وسجلات الزوار ايضا تستخدمها لضمان عدم اغراق الموقع من العضويات الوهمية لاي سبب كان وايضا تستخدم في المدونات لعدم اغراق المدونة من التعليقات التي عادة ما تكون “سبام” اعلانات لمواقع اخرى لزيادة عدد زوارهم او لبيع سلعة معينه !

كيف تتخطى الروبوتات (البرامج) اكواد التحقق ؟

عادة ما يقوم الهكر او المخترقين ببرمجة هذه الاكواد وتعتمد على مدى صعوبة الكابتشا ! مثلا اذا كانت الكابتشا عبارة عن نص فيقوم البرمج بأخذ ما هو مكتوب ونسخه في الخانه المخصصه لها وذلك عن طريقة اضافة القيم المسؤولة عن هذه الاكواد ! , اما الصور فعادة ما تستخدم المكتبات الجاهزة التي عادة ما تستخدم في تحويل الصور الى مستندات نصية كالموجوده في برامج الماسحات الضوئبة وتقوم بالتعرف على الارقام والحروف بكل سهولة

من اين يمكن الحصول على اكواد الكابتشا جاهزة ؟

اذا كنت مبرمج وتريد اضافة هذه الخاصية برامجك يمكنك عملها عن طريق اكواد php او استخدام هذه الخاصية من مقدمين هذه الخدمة على الانترنت واشهرها هو موقع ReCaptcha و هو من انشاء دكاتره في جامعة امريكية وبعدها قام قوقل بشراء المشروع ,عمدوا على تحويل الكتب الى مسنتدات كمبيوتر ! وقاموا بأستخدام هذا الموقع لأكيد ما هو في الكتب ! فعندما تكتب الكلمة التي تظهر لك فأنك تساعد غلى تحويل جزء من كتاب الى مستند الكتروني حيث ان الكلمات التي تظهر لك تعرف عليها الكمبيوتر من قبل ولكن تحتاج الى تأكيد لذلك !

http://www.google.com/recaptcha

One thought on “ما هو الـCAPTCHA ؟

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>