همه چیز درباره‌ی reCaptcha !

reCaptcha یک وب سرویس برای تولید و اعتبار سنجی کدهای امنیتی (Captcha) می باشد که ساخت شرکت گوگل میباشد.

طرز کار این سرویس تا جایی که من تحقیق کردم، به این صورت است که ابتدا در آدرس زیر ثبت نام می کنید:
google.com/recaptcha
و یک کلید خصوصی و یک کلید عمومی دریافت می کنید. بعد، در سورس HTML صفحه، کلید عمومی را قرار می دهید. روند کار به طور خلاصه و فشرده این است:

  1. وقتی کاربر صفحه‌ی شامل reCaptcha را باز می کند، کلید عمومی به گوگل ارسال می شود. و گوگل هم یک تصویر و یک کد Challenge Code برمی گرداند. و تصویر به کاربر نمایش داده می شود.
  2. کاربر تصویر را حل می کند و فرم را ارسال می کند.
  3. موقع ارسال فرم، چند تا متغیر POST به سایت ارسال می شود:
    • Captcha Challenge Field (که همان مقدار ارسالی گوگل است)
    • Captcha Response Field (که جوابی است که کاربر تایپ کرده است)

     این دو تا فیلد به سایت ارسال می شود.

  4. سرور، این دو تا فیلد و همچنین فیلد Private Key را به گوگل ارسال می کند.
  5. گوگل در صورتی که تایید کرد یا تایید نکرد، نتیجه را به سرور ما برمیگرداند.
  6. اسکریپت موجود در سرور، با توجه به پاسخ گوگل می تواند بفهمد فرم باید تایید شود یا باید رد شود.

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

با توجه به موارد بالا، برای کپی کردن Captcha از یک سایت دیگر، کافی است کد Public Key را به گوگل ارسال کنیم و تصویر و Challenge Field را از گوگل بگیریم. بعد تصویر را به کاربر نشان دهیم
پاسخ کاربر را هم همراه با دو فیلد بالا به سایت اصلی (که Captcha را از آن کپی کرده ایم) ارسال کنیم. بقیه ی کارها با سرور است و دیگر لازم نیست که کلید خصوصی را بدانیم!

البته توجه کنید که به این کار نمی شود گفت که "reCaptcha را هک کرده ایم". این هک نیست و از ویژگی های گوگل است

reCaptcha را تا حالا نشنیده و ندیده ام که کسی هک کند...

نظرات شما

قسمت نظرات با استفاده از سرویس دیسکاس پیاده سازی شده است. متاسفانه این سرویس از داخل ایران قابل دسترس نیست. لطفا از آی پی خارجی استفاده کنید.