قطعاً برای شما هم پیش آمده است که وقتی میخواهید یک فرم را در یک سایت پر کنید، گزینهای ظاهر میشود که هدف از آن این است که بفهمد شما انسان هستید و کسی که دارد این فرم را پر میکند ربات نیست. reCAPTCHA همان ابزار یا سیستمی است که انسان را از ربات تمیز میدهد و باعث میشود که افراد نتوانند از رباتها سوء استفاده کنند. در ادامه این مقاله قصد داریم که ببینیم reCAPTCHA چیست و چگونه میتوانیم آن را بسازیم؟
بهترین و سادهترین تعریفی که میتوان از reCAPTCHA ارائه داد این است که این ابزار کار را برای انسانها آسان و برای رباتها مشکل میکند. این ابزار متعلق به گوگل است و گوگل برای کمک به حفظ امنیت سایتها این ابزار را در اختیار همگان قرار داده است تا امنیت سایت خود را بیشتر کنند.
reCAPTCHA چیست و چه کاربردی دارد؟
reCAPTCHA در واقع قابلیتی است که از سایتها در برابر رباتها حفاظت میکند. این ابزار محصولی از تیم امنیتی گوگل است و گوگل برای کمک به حفاظت از امنیت سایتها آن را به صورت کاملاً رایگان در اختیار همه قرار داده است تا از آن استفاده کنند و جلوی سوء استفاده رباتها از سایتشان را بگیرند.
ریکپچا یا ریکپچا به شکلهای مختلفی وجود دارد. گاهی به صورت چند عدد ظاهر میشود که باید آن چند عدد را تایپ کنید تا بتوانید فرآیند خود را ادامه دهید. گاهی به صورت تصاویر نمایش داده میشود. به عنوان مثال از کاربر میخواهد که تصاویری که در آنها تومبیل یا چراغ راهنمایی و رانندگی وجود دارد انتخاب کنند. گاهی هم به صورت تیک باکس ظاهر میشود که از کاربر خواسته میشود که آن تیک را بزند تا نشان دهد که ربات نیست.
شاید الان این سوال برای شما ایجاد شود که تفاوت CAPTCHA با reCAPTCHA چیست و هر کدام در کجا کاربرد دارند. بهتر است بدانید که reCAPTCHA یکی از زیرمجموعههای CAPTCHA است. در ادامه به معرفی CAPTCHA میپردازیم.
CAPTCHA و تفاوت آن با reCAPTCHA
کپچا یا CAPTCHA در واقع مخفف Completely Automated Public Turing Test To Tell Computers and Humanns Apart است. معنای این عبارت آزمایش خودکار عمومی برای جداسازی انسان از ربات یا کامپیوتر است. اولین سایتی که از کپچا استفاده کرد سایت یاهو بود. این ابزار نخستین بار در سال 2000 توسط دانشگاه کارنگی ملون ساخته شد.
کار CAPTCHA این است که یک سری سوالات را برای کاربران مطرح کند. سوالاتی که کپچا مطرح میکند هیچ ربات یا کامپیوتری نمیتواند پاسخ دهد و تنها انسان است که به راحتی میتواند آنها را حل کند. CAPTCHA که وظیفه جداسازی انسان از ربات را دارد این سوالات را مطرح میکند. اگر کاربر نتواند به این سوالات به درستی پاسخ دهد مشخص میشود که انسان نیست؛ چون اگر انسان باشد پاسخگویی به سوالات CAPTCHA خیلی آسان است و هیچ مشکلی ندارد. انواع CAPTCHA به صورت زیر میباشند:
- گاهی یک تصویر با کلمات به هم ریخته به کاربر نمایش داده میشود و کاربر باید این کلمات را به صورت مرتب در کادری که به او نمایش داده میشود قرار دهد.
- گاهی از کاربر خواسته میشود که از بین چندین تصویر، تصاویر دارای یک ویژگی مشترک را انتخاب کنند. به عنوان مثال به او گفته میشود که تصاویر دارای پل عابر پیاده را انتخاب کند.
- گاهی یکی از چهار عمل ریاضی به کاربر نمایش داده میشود و از کاربر میخواهد که حاصل آن عمل ریاضی را بنویسد. به عنوان مثال از کاربر خواسته میشود حاصل 1+3 را بنویسد.
- گاهی کپچاها سه بعدی هستند. به این معنا که یک کلمه سه بعدی به کاربر نمایش داده میشود و از او خواسته میشود که آن کلمه را در کادری که مشخص شده است بنویسد.
CAPTCHA در جاهای مختلفی استفاده میشود. در ادامه به چند مورد از آنها اشاره میشود:
- نظرسنجیهای آنلاین
- عضویت سایتها
- جلوگیری از هک شدن رمز عبور
- جلوگیری از نظرات اسپم در سایتها
پس از مدتی که از استفاده از CAPTCHA گذشت. گوگل پژوهشهای خود را در مورد کپچا و استفاده از ان شروع کرد. پس از مدتی مشخص شد که کاربران روزانه 200 میلیون بار به سوالات CAPTCHA پاسخ میدهند. سپس پژوهشگران خواستند که ببینند پاسخگویی به این سوالات چقدر وقت از کاربران میگیرد. نتیجه نهایی این بود که کپچا روزانه 150 هزار ساعت از وقت کاربران را میگیرد.
اینجا بود که گوگل به این فکر افتاد که این زمان هدررفته را کاهش دهد و به یک حالت بهینه برساند و پس از تحقیقات بسیار، سیستم reCAPTCHA اختراع شد. ایده ریکپچا به قدری عالی است که باعث میشود زمانی که برای کار با کپچا هدر میرفت به میزان قابل توجهی کاهش یابد.
reCAPTCHA به جز تشخیص ربات از انسان یک کاربرد دیگر هم دارد. برای اینکه کتابها و روزنامههای غیردیجیتال را به دیجیتال تبدیل کنیم، باید از صفحات آنها اسکن بگیریم و اسکن را به سیستم OCR بسپاریم تا تصویر را به متن تبدیل کند.
مسئله OCR این است که برخی از کلمات موجود در کتابها و روزنامهها را به خوبی تشخیص نمیدهد. به عنوان مثال اگر جوهر چاپ کمی پخش شده باشد و آن کلمه واضح نباشد OCR به مشکل برمیخورد. ریکپچا این مشکل را حل کرد. در صورتی که سیستم OCR در هنگام تبدیل تصویر به متن به مشکل بخورد، آن کلمه را برای reCAPTCHA میفرستد و ریکپچا مشکل را به راحتترین شکل ممکن حل میکند و کلمه را تشخیص میدهد.
بنابراین اگر بخواهیم بگوییم که تفاوت CAPTCHA و reCAPTCHA چیست باید بگوییم در دو زمینه با هم متفاوت هستند:
- ریکپچا در واقع نوعی کپچا است ولی مدت زمانی که کاربران باید برای پاسخگویی به سوالات reCAPTCHA صرف میکنند خیلی کمتر از CAPTCHA است.
- کپچا به جز تشخیص ربات از انسان کاربرد و مزیت دیگری ندارد ولی reCAPTCHA غیر از تشخیص موثر ربات از انسان در تبدیل تصویر به متن هم کاربرد دارد و کلماتی که سیستم OCR برای تشخیص آنها به مشکل میخورد برای ریکپچا میفرستد تا ریکپچا مشکل را حل کند.
ورژنهای مختلف reCAPTCHA
تا به حال سه ورژن از reCAPTCHA روانه بازار شده است که هر کدام از این ورژنهای خصوصیات و مزایای مربوط به خودش را دارد. این سه ورژن عبارت است از:
ورژن اول: ریکپچا تحت عنوان reCAPTCHA v1
این نسخه از مارس سال 2018 منسوخ شده است. در صورتی که قصد دارید برای سایت خودتان از ریکپچا استفاده کنید، ورژنهای دیگری هم هست که میتوانید از آنها استفاده کنید. ورژن نخست ریکپچا مطابق تصویر زیر شامل یک سری تصویر با کلمات به هر ریخته است که کاربر باید آن کلمات را تشخیص و در کنار هم قرار دهد و کلمه پایانی را در کادری که در پایین آن کلمات به هر ریخته دیده میشود بنویسد.
ورژن دوم: ریکپچا تحت عنوان reCAPTCHA v2
ورژن دوم ریکپچا در دسامبر 2014 منتشر شد. در این نسخه دیگر خبری از کلمات مبهم، مشکل و به هم ریخته نیست. در این نسخه کاربر باید تیک مربوط به چک باکس را بزند تا سیستم reCAPTCHA به صورت کاملاً خودکار تشخیص دهد که شخصی که وارد سایت شده، انسان یا ربات است. این نسخه از reCAPTCHA دارای سه مدل مختلف است که در ادامه به این سه مدل اشاره شده است:
- اندروید: گوگل برای سیستم عامل اندروید یک reCAPTCHA اختصاصی طراحی کرده است. این نسخه از ریکپچا در سال 2017 رونمایی شد. این سیستم از اپلیکیشنهای اندروید در برابر تهدیدات امنیتی محافظت میکند.
- نامرئی یا Invisible: نسخه نامرئی ریکپچا هیچ احتیاجی به طی کردن یک فرآیند یک کاربر ندارد. این مدل یکی از راحتترین و بیدردسرترین روشهایی است که گوگل بای تشخیص انسان از ربات در پیش گرفته است. این نسخه از ریکپچا در سال 2016 در دسترس کاربران قرار گرفت. این سرویس هم رایگان است و گوگل در این نسخه برای جدا کردن ربات از انسان از سیستم هوش مصنوعی استفاده میکند. به این نسخه مدل نامحسوس هم گفته میشود.
- چک باکس من ربات نیستم: در ورژن دوم ریکپچا کاربر باید روی چک باکسی که روی آن جمله «I’m not a robot» نوشته شده است کلیک کنید و تیک آن را بزند. فرآیند تأیید کاربر به عنوان یک انسان ممکن است چند ثانیه طول بکشد. این مدل از ورژن دوم واقعاًً آسان است و هیچ مشکل خاصی ندارد.
ورژن سوم ریکپچا با عنوان reCAPTCHA v3
ورژن دوم ریکپچا بدون اشکال نبود. معمولاً کاربر وقتی میخواست ورژن دوم را پشت سر بگذارد لازم بود که یک فرآیند زمانبر را پشت سر بگذارد. همچنین ورژن دوم ریکپچا تنها در صفحات و فرمهایی فعال است که نشانه ریکپچا در آن مشخص شده باشد. این در حالی است که ورژن سوم ریکپچا یا reCAPTCHA v3 در تمامی صفحات سایت وجود دارد و از کلیه صفحات حفاظت میکند.
قابلیتی که در ورژن سوم وجود دارد این است که از تمامی صفحات سایت به صورت کامل محافظت میکند و به راحتی تشخیص میدهد که فعالیتهایی که روی سایت انجام شده توسط انسان بوده است. این ورژن به معنای واقعی کلمه استفاده از سایت و محتوای آن را برای انسان آسان و برای ربات مشکل و دشوار میکند.
ورژن سوم ریکپچا دارای یک سیستم نمرهدهی است و با نمرهدهی به کاربران ورود آنها به سایت را راحت میکند.
در ادامه قصد داریم که عملکرد و خصوصیات ورژن 2 و 3 ریکپچا را با هم مقایسه کنیم و ببینیم که این دو مورد چه تفاوتهایی با یکدیگر دارند.
شباهت و تفاوت ورژن 3 ریکپچا با ورژن 2 reCAPTCHA چیست ؟
- هر دو ورژن کاملاً اثباتشده و مطمئن هستند؛ زیرا عملکرد رباتها را در سایتهای مختلف بررسی کردهاند و خیلی خوب میدانند که چگونه باید ربات و انسان را از هم تشخیص دهند. از این جهت درجه امنیت و اطمینان هر دو ریکپچا تقریباً یکسان است.
- یکی از مزایای ورژن سوم ریکپچا نسبت به ورژن دوم آن این است که تشخیص کاربر انسان از ربات در ورژن سوم نیازی به دخالت کاربر ندارد و بر اساس سیستم نمرهدهی صورت میگیرد. این در حالی است که ورژن دوم ریکپچا از کاربران میخواهند که به صورت دستی دخالت کنند و انسان بودن خود را با کارهایی که انجام میدهند به اثبات برسانند. این کارها شامل تیک زدن یک چک باکس، انتخاب تصاویر دارای ویژگی مشترک و غیره است.
معایب CAPTCHA و reCAPTCHA چیست ؟
کپچا و ریکپچا چهار عیب و نکته منفی عمده دارند:
- هر دو مورد زمان ما را هدر میدهند و معطلمان میکنند. کپچا و ورژن اول و دوم ریکپچا تخصص ویژهای در تلف کردن وقت و زمان ما دارند.
- گاهی مواقع حل کردن سوالات کپچا و ریکپچا مشکل است. ورژن اول ریکپچا گاهی به قدری مشکل بود که کاربر مجبور میشد یک تصویر دیگر برای تشخیص انتخاب کند.
- در صورتی که کاربران ناتوانی خاصی مانند ضعف چشم داشته باشند ممکن است نتوانند به درستی به سوالات ریکپچا پاسخ دهند و معماهایی که پیش روی آنها قرار میدهد را حل و فصل کنند. البته ورژن سوم ریکپچا دیگر این مشکلات را ندارد و با نمرهدهی به کاربران به ربات نبودن آنها پی میبرد.
چگونه میتوانیم برای سایت خودمان reCAPTCHA بسازیم؟
تا به این جای کار تلاش کردیم بگوییم که reCAPTCHA چیست و چه کاربردها و ورژنهایی دارد. در این بخش از مقاله قصد داریم برای سایت خودمان reCAPTCHA بسازیم و سایت خود را در برابر حملات و تهدیدات امنیتی رباتها ایمنسازی کنیم. در صورتی که تمایل به شیوه ساخت reCAPTCHA را یاد بگیرید و برای سایت خود ریکپچا بسازید، مراحل زیر را یکی پس از دیگری انجام دهید:
مرحله اول
اولین کاری که باید انجام دهید این است که وارد اکانت گوگل خود شوید. برای ورود به اکانت گوگل باید آدرس جیمیل و رمز عبور آن را وارد کنید تا وارد حساب خود شوید.
مرحله دوم
وقتی وارد اکانت گوگل خود شدید، اکنون وقت آن است که به صفحه My reCAPTCHA بروید.
همان گونه که در تصویر بالا مشاهده میکنید در این صفحه یک فرم وجود دارد که باید آن را پر کنید.
مرحله سوم
در بخشی که با عنوان Label مشخص شده است، نام دلخواهی را وارد کنید. بهترین ورژن ریکپچا ورژن 3 است. ورژن دلخواه خودتان را از بخش reCAPTCHA type انتخاب کنید. اگر ورژن 2 را انتخاب کنیدف انسان یا ربات بودن کاربر به کمک یک چالش، سوال، چک باکس و غیره صورت میگیرد ولی اگر ورژن سوم را انتخاب کنید، تشخیص ربات یا انسان بودن به کمک امتیاز صورت میگیرد.
در بخش بعدی که Domains نام دارد باید دامنههای مورد نظرتان که میخواهید برای آنها ریکپچا بگیرید را وارد کنید. به عنوان مثال hamyar.co را میتوان وارد کرد. در بخش بعدی که Owners نام دارد باید ایمیل مالکان سایت را وارد کنید. اگر وبسایت شما یک مالک دارد، ایمیل وی را وارد کنید و اگر چند مالک دارید میتوانید ایمیل تمامی آنها را وارد کنید.
در بخش پایانی باید تیک مربوط به باکس Accept the reCAPTCHA Terms of Service را بزنید. زدن تیک مربوط به این بخش به این معنا است که شما و سایر مالکان سایت تمامی شرایط و خصوصیات ریکپچا و کارهایی که روی سایت شما انجام میدهد را میدانید.
بخش پایانی زدن تیک مربوط به باکس Send alerts to owners است. در صورتی که تیک این بخش را بزنید یک ایمیل برای مالکانی که ایمیل آنها را وارد کردهاید ارسال میشود و به آنها گفته میشود که برای سایتشان درخواست ریکپچا داده شده است. پس از انجام دادن تمام کارهایی که بیان شد باید دکمه آبی رنگ SUBMIT را بزنید تا درخواست شما برای reCAPTCHA برای گوگل ارسال شود.
بعد از تأیید شدن درخواست شما برای دریافت ریکپچا، یک کلید سایت یا Site key و کلید رمز یا Secret key برای شما ارسال میشود. در صورتی که از وردپرس استفاده میکنید کافی است پلاگین مربوط به ریکپچا را برای سیستم مدیریت محتوای خود دانلود کنید و سپس رمزهایی که گوگل در اختیار شما قرار میدهد را در آنها قرار دهید. برای دانلود پلاگینهای مناسب برای ریکپچا در وردپرس کافی است به پلاگینهای وردپرس برای ریکپچا مراجعه کنید.
همچنین در صورتی که قصد دارید عمل وارد کردن کدهای گوگل در سایت را به صورت دستی انجام دهیم باید مطابق تصویر زیر به قالب سایت بروید و کلید سایت را در بخش tag head و کلید دوم را در body قرار دهید.
وقتی این مراحل را به پایان رساندید نشانه ریکپچا در تمامی صفحات سایت شما نمایش داده میشود و این به معنای آن است که شما عملیات پیادهسازی ریکپچا روی سایت خود را به صورت درست انجام دادهاید.
کلام آخر
در این مقاله به این موضوع پرداختیم که reCAPTCHA چیست ، چه مزایایی دارد، چه تفاوتهایی با CAPTCHA دارد و در نهایت به شیوه ساخت ریکپچا اشاره کردیم. در صورتی که به امنیت سایت خود اهمیت میدهید مقاله گواهینامه ssl چیست و چطور به امنیت و سئو سایت شما کمک میکند؟ میتواند برای شما بسیار جذاب و مفید باشد. پیشنهاد میشود که این مقاله را مطالعه کنید.
لطفاً نظرات و سوالات خود در مورد ریکپچا را با ما و سایر کاربران همیار آکادمی به اشتراک بگذارید. کارشناسان همیار آکادمی تلاش میکنند که در اولین فرصت ممکن به پرسشها و ابهامات شما پاسخ دهند.
اشتراک گذاری
آدميزاد فقط با آب و نان و هوا نيست كه زنده است. آدم به عشق آدم زنده است. من عاشق نوشتن و خواندنم؛ نوشتن و خواندنی که سایر انسانها را داناتر و تواناتر کند!