CAPTCHA چیست و چگونه عمل می کند؟


یکی از امکاناتی که می توانید در طراحی وب سایت خود از آن بهره بگیرید، استفاده از تکنولوژی کپچاست.

تصور کنید با کامپیوتر خود در اینترنت قصد خرید یک کارت شارژ موبایل را دارید. قبل از پرداخت پول در سایت بانک، شما باید یک تست را پشت سر بگذارید و البته این آزمون سخت نیست. در واقع ، نکته همین است. برای شما، تست باید ساده و سر راست باشد. اما برای یک کامپیوتر، حل کردن همین تست ساده تقریبا غیر ممکن است! این آزمون که تا حالا زیاد با آن برخورد داشته اید، کپچا نام دارد. یکی از عادی ترین انواع کپچا، تصویر چند عدد یا حرف است که شما باید آنها را در کادر تعیین شده وارد کنید. اگر عبارت وارد شده با عکس کاملا یکسان باشد، شما در آزمون قبول شده اید و می توانید خرید تان را انجام دهید!

اولین سوالی که ممکن است به ذهنتان خطور کند، این است که چرا هر کسی نیاز به گذراندن یک چنین تستی دارد که انسان ها و رایانه ها را از هم متمایز می کند؟ دلیلش این است که برخی مردم تلاش می کنند سیستم را بازی دهند- آنها می خواهند از نقاط ضعف امنیتی بالقوه موجود در سرور سایت به نفع خود بهره برداری کنند. در حالی که این افراد احتمالا در میان میلیون ها نفر کاربر اینترنت بسیار اندک اند و اقلیت ناچیزی را تشکیل می دهند، اما اقدامات مخرب همین گروه ناچیز، می تواند روی میلیون ها کاربر وب سایت ها تاثیر گذارد. به عنوان مثال، یک سرویس ایمیل رایگان ممکن است مورد بمباران صد ها میلیون درخواست حساب کاربری از سوی برنامه های خودکار قرار گیرد و دچار اشکال شده و از کار بیافتد. این حمله می تواند بخشی از تلاش گسترده برای فرستادن ایمیل اسپم به میلیون ها نفر از مردم باشد. تست کپچا کمک می کند که ماهیت کاربران شناسایی شود که کدام یک انسان واقعی هستند و کدام یک برنامه کامپیوتری مخرب می باشند. بیایید نگاهی دقیقتری به کپچا بیاندازیم و ببینیم دقیقا چیست.

CAPTCHA و تست تورینگ
تکنولوژی کپچا ریشه در آزمایشی موسوم به تست تورینگ دارد. «آلن تورینگ»، که گاهی از او به عنوان پدر محاسبات رایانه ای مدرن یاد می شود، این آزمون را به عنوان راهی برای بررسی اینکه آیا ماشین می تواند فکر کند یا حداقل چنین به نظر برسد که همانند انسانها فکر می کند، پیشنهاد داد. آزمون کلاسیک تورینگ نوعی بازی تقلید کردن است. در این بازی، بازپرس از شرکت کنندگان یک سری سوال می پرسند. یکی از شرکت کنندگان یک ماشین است و دیگری انسانی واقعی. بازپرس نمی تواند شرکت کنندگان را ببیند یا صدایشان را بشنود و هیچ راهی برای دانستن این که کدام انسان است و کدام ماشین ندارد. اگر بازپرس در پایان بر اساس پاسخ ها قادر به کشف این مسئله نشد که کدام شرکت کننده ماشین است و کدام یک انسان، ماشین تست تورینگ را با موفقیت پشت سر گذاشته.
البته ، در تست captcha، هدف این است که آزمون یا بهتر است بگوییم مانعی ایجاد کنیم که انسان به راحتی بتواند از ان عبور کند، اما ماشینها نتوانند عبور کنند. این نیز مهم است که برنامه کپچا قادر به ارائه کدهای مختلف برای کاربران متفاوت باشد. اگر کپچای تصویری، تنها یک تصویر ثابت را برای هر کاربری به نمایش در آورد، طولی نمی کشد که یک هکر حروف موجود در فرم را شناسایی کرده، حروف را رمز گشایی کرده، و برنامه ای می نویسد که پاسخ صحیح را به صورت خودکار در کادر مربوطه وارد کند.

همه کپچاها از شما تایپ متن درون تصویر را نمی خواهند. مثلا تست تصویر فوق از کاربران می خواهد با استفاده از موس شکل هندسی خاص درون عکس ها را در جهت حرکت مشخص شده دنبال کنند.

تقریبا همه کپچاها یک تست دیداری هستند. برعکس شما که به راحتی تصویر را روی مانیتور می بینید و آن را تشخیص داده و وارد می کند، برای یک برنامه کامپیوتری بسیار مشکل که بتواند شکل را تشخیص داده، عبارت درون آن را تحلیل کرده و تشخیص دهد. اما همه کپچاها بر الگوهای دیداری تکیه نمی کنند. در حقیقت ، مهم است که جایگزینی برای کپچای بصری وجود داشته باشد. در غیر این صورت، مدیر وب سایت ریسک محروم شدن از هر کاربر وب که دچار مشکل بصری است را برای خود خریده است. یکی از گزینه های جایگزین آزمون دیداری آزمون شنیداری است. کپچای صوتی معمولا از کاربر می خواهد یک سری از حروف و اعداد را بشنود و سپس انها را در کادر وارد کند. این امری غیر معمول نیست که برنامه صدای بلندگو را کمی دچار اعوجاج کند، و همچنین متداول است که صدایی دیگر نیز در پس زمینه ضبط شده و پخش شود. این موارد کمک می کند تا برنامه های تشخیص حروف از روی صدا نتوانند عمل کنند.

یکی دیگر از گزینه های پیش رو برای ایجاد یک کپچا این است که از مخاطب سوال می شود که متنی را خوانده و تفسیری کوتاه از آن ارائه دهد. مدل متنی کپچا در واقع مهارت های درک مطلب خواننده را مورد آزمون قرار می دهد. در حالی که برنامه های کامپیوتری قادرند کلمات کلیدی متون را انتخاب کنند، در عمل نمی توانند درک کنند هر کلمه یا هر عبارت دقیقا چه معنا و مفهومی دارد.
مثلا کپچا از شما سوال می کند برادر پدر شما، چه نسبتی با شما دارد؟ حال باید از لیست جواب را انتخاب کنید. در این لیست ممکن است کلمات اینچنینی ببینید: مادر - عمه - عمو - تلویزیون - درخت!

چه کسی از CAPTCHA استفاده می کند؟
یکی از کاربردهای رایج کپچا برای اعتبار سنجی رای گیری های انلاین است. در سال 1999، سایت Slashdot یک نظر سنجی راه انداخت که نظر بازدید کنندگان را برای انتخاب بهترین محل تحصیل برای گذران دوره کارشناسی ارشد علوم کامپیوتر در آمریکا جویا می شد. دانشجویان دو دانشگاه - کارنگی ملون و ام آی تی - برنامه های خودکاری به نام bots طراحی کردند تا به دانشگاه شان به کرات رای دهد. در حالی که آن دو دانشگاه هزاران رای را به این شیوه به خود اختصاص داده بودند، دانشگاه های دیگر هر یک فقط چند صد رای جمع کرده بودند. اگر این امکان وجود داشته باشد که با ایجاد برنامه ای بتوان در رای گیری و نظر سنجی شرکت کرد و آرا را به نفع خود تغییر داد، چگونه می توانیم به نتیجه نظرسنجی های آنلاین اعتماد کنیم؟ فرم کپچا می تواند در این زمینه به پیشگیری از برنامه نویسی برای سوء استفاده از سیستم رای گیری کمک کند.

فرم های ثبت نام در وب سایت ها نیز اغلب از کپچا استفاده می کنند. به عنوان مثال ، سرویس های پست الکترونیکی رایگان مبتنی بر وب مانند هات میل، یاهو یا جی میل به مردم اجازه ایجاد یک حساب رایگان پست الکترونیکی را می دهند. معمولا، کاربران باید مقداری اطلاعات شخصی خود را در هنگام ایجاد یک حساب کاربری در کادرهای مربوطه وارد نمایند، اما به طور معمول این خدمات چنین اطلاعاتی را استعلام و سپس تایید نمی کنند. آنها از کپچا برای جلوگیری از تلاش اسپمرها برای استفاده از رباتهای ایمیل ساز بهره می گیرند.

در سایت های فروش بلیط اینترنتی هم کپچا می تواند کاملا کاربردی باشد. بدون استفاده از نوعی فیلتر، این امکان وجود دارد که دلال از یک ربات استفاده کند و در کسری از ثانیه به جای صدها یا هزاران نفر بلیط خریداری کند. مشتریان عادی هم تبدیل به قربانیان این حادثه می شوند چرا که بلیط ها تنها پس از دقایقی از شروع فروش به اتمام می رسند و بسیاری از مشتاقان از خرید بلیط محروم می مانند. دلال از این حس اشتیاق سوء استفاده کرده و بلیط های خریداری شده را به قیمت بالایی به فروش رسانده و سود کلانی نصیب خود می کند. هرچند که برنامه های کاربردی کپچا مانع دلالی و بازار سیاه نمی شوند، اما مانع چنین خریدهای در مقیاس بزرگی و در نتیجه محروم شدن عده زیادی از خرید بلیط، می شوند.

برخی از صفحات وب تابلوی اعلان و یا فرم های تماسی دارند که به بازدید کنندگان اجازه می دهد در سایت مطلبی بنویسند و یا پیام شان را به طور مستقیم برای مدیران وب سایت ارسال کنند. برای جلوگیری از سرازیر شدن سیل اسپم به حساب کاربری مدیران، بسیاری از این سایت ها یک برنامه کپچا برای فیلتر کردن پیام های مزاحم در خود تعبیه نموده اند. کپچانمی تواند مانع گردد که کسی یک پیام بی ادبانه ارسال کند و یا باعث آزار و اذیت کاربران و مدیر سایت شود. اما می تواند به پیشگیری از ارسال پیامهای مکرر به صورت خودکار از سوی رباتها کمک کند.