CAPTCHA

CAPTCHA

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

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


CAPTCHA مخفف “Completely Automated Public Turing test to tell Computers and Humans Apart ” است. CAPTCHA در واقع نوعی آزمون چالشی مبتنی بر پرسش و پاسخ است که برای تعیین انسان بودن کاربر استفاده می‌شود.( مثلا عدد نمایش داده شده را بنویسید). این تست اغلب در فرم های ثبت نام آنلاین و برای جلوگیری از ثبت نام جعلی مورد استفاده قرار میگیرد.


CAPTCHA چیست؟

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

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

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

البته این روند شناسایی کاربر، با انتقادات زیادی روبه‌رو بوده است، به‌ویژه از سوی افراد دارای معلولیت هستند یا افرادی که کار و استفاده روزمره آن‌ها با خواندن این کلمات و اعداد که خواندنشان دشوار است کند می‌شود. حل یک کپچا معمولی، به‌طور متوسط حدود 10 ثانیه زمان می‌برد.

در چه مواردی از کپچا ها استفاده می‌شود؟

هر وب‌سایتی می‌تواند از CAPTCHA به‌منظور محدود کردن استفاده از ربات‌ها استفاده کند. در ادامه به تعدادی از موارد استفاده از CAPTCHA اشاره‌شده است:

  • حفظ دقت نظرسنجی: آزمون CAPTCHA با کسب اطمینان از ورود رأی توسط انسان، می‌تواند از هرگونه انحراف و تقلب در نظرسنجی جلوگیری کند. اگرچه این روش تعداد کلی آرا قابل‌دستیابی را محدود نمی‌کند، اما می‌تواند فرصت را برای هر رأی بیشتر کرده و از چند بار رأی دادن جلوگیری کند.
  • محدود کردن ثبت‌نام برای سرویس‌ها: سرویس‌ها می‌توانند به‌منظور جلوگیری ربات‌ها از هرزه‌نگاری (اسپم شدن) دستگاه‌های ثبت‌نام برای ایجاد حساب‌های کاربری تقلبی، از CAPTCHA استفاده کنند. محدود کردن ساخت حساب از اتلاف منابع یک سرویس ممانعت می‌کند و فرصت‌های کلاه‌برداری را به حداقل می‌رساند.
  • جلوگیری از تورم بلیت: سیستم‌های فروش بلیت با استفاده از CAPTCHA می‌توانند در فروش مجدد بلیت، خرید تعداد زیاد بلیت را محدود کنند. همچنین این قابلیت را دارند که از ثبت‌نام‌های نادرست در رویدادهای رایگان جلوگیری کنند.
  • جلوگیری از اظهارنظرهای نادرست: کپچا می‌تواند از ارسال هرزنامه در صفحه پیام، فرم‌های تماس یا سایت‌های عقیدتی توسط ربات‌ها جلوگیری کند. مرحله بعدی که توسط CAPTCHA لازم است می‌تواند در کاهش مزاحمت آنلاین ناشی از طریق اظهارنظرهای ناراحت‌کننده نقش مهمی را ایفا کند.

کپچا چگونه کار می‌کند؟

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

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

در بهترین حالت ربات‌ها می‌توانند تعدادی از حروف تصادفی را وارد کنند که آمارهای ارائه‌شده احتمال قبولی آن‌ها را دور از دسترسی می‌دانند. پس می‌توان استنتاج نمود که ربات‌ها در آزمون CAPTCHA موفق نخواهند شد و دسترسی آن‌ها به اپلیکیشن یا وب‌سایت موردنظر مسدود می‌شود، درحالی‌که انسان می‌تواند در این آزمون موفق شده و به برنامه موردنظر دسترسی یابند.

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

انواع مختلف CAPTCHA

امروزه آزمون‌های CAPTCHA به سه دسته اصلی متنی، تصویری و شنیداری تقسیم می‌شوند.

کپچا متنی

اصلی‌ترین روش برای تائید کاربر انسان، نوع متنی است. این CAPTCHA ها می‌توانند از کلمات یا عبارات شناخته‌شده یا ترکیب تصادفی اعداد و حروف استفاده کنند. برخی از آن‌ها به کوچکی یا بزرگی حروف حساس‌اند.

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

اما چگونه می‌توان کپچا متنی را ایجاد کرد:

۱ – Gimpy

تعداد دلخواهی از کلمات را از یک فرهنگ لغات 850 کلمه‌ای انتخاب می‌کند و آن کلمات را به‌صورت دستکاری‌شده و تحریف‌شده ارائه می‌دهد.

۲ – EZ-Gimpy

این نوع از Gimpy فقط از یک کلمه استفاده می‌کند.

۳ – Gimpy-r

پس از انتخاب حروف تصادفی، نویز پس‌زمینه را تغییر داده و اضافه می‌کند.

۴ – Simard’s HIP

حروف تصادفی را انتخاب نموده و آن‌ها را با رنگ‌ها و قوس‌های مختلف تغییر می‌دهد.

کپچا تصویری

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

در تصویر زیر نمونه‌ای از این نوع CAPTCHA ها مشاهده می‌شود. لازم به ذکر است که در این نوع از آزمون CAPTCHA موضوع را به‌جای متن با استفاده از تصویر تعریف می‌کنند.

به‌طورمعمول، کاربر انسانی CAPTCHA های تصویری را راحت‌تر از متن تشخیص می‌دهند؛ اما از معایب این روش‌ها، اختلال در دسترسی کاربران کم‌بینا می‌باشد.

البته تشخیص CAPTCHA های تصویری برای ربات‌ها به‌مراتب سخت‌تر از CAPTCHA های متنی است، زیرا باید دارای ابزارهایی برای شناسایی تصویر و طبقه‌بندی معنایی برای تفسیر آن باشند.

کپجا صوتی

CAPTCHA صوتی یک گزینه توسعه‌یافته از انواع دیگر CAPTCHA است که امکان دسترسی کاربران کم‌بینا را فراهم می‌کند. به‌عبارت‌دیگر، CAPTCHA صوتی همراه با کپچا متنی یا کپچا تصویری ارائه می‌شود. کاربر باید صوت ضبط‌شده از مجموعه‌ای از حروف یا اعداد را تشخیص داده و تفسیر کرده و ارائه دهد.

این نوع از CAPTCHA به‌گونه‌ای طراحی‌ شده‌اند که ربات‌ها نمی‌توانند آن‌ها را از نویز پس‌زمینه تشخیص دهند؛ بنابراین همانند CAPTCHA متنی، تفسیر این‌گونه از CAPTCHA برای انسان و ربات دشوار است.

جمع‌بندی

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

منابع: Captcha.Net | Imperva

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

یک × پنج =