پرش به مطلب اصلی
نسخه: 3.0.0

پاسخ کاربر را تائید کنید.

این صفحه نحوه تأیید پاسخ کاربر به چالش آرکپچا را از طریق backend توضیح می دهد.

برای کاربران وب، می توانید توکن پاسخ کاربر را از این طریق دریافت کنید:

  • زمانی که کاربر فرم را در سایت شما ارسال می کند، پارامتر arcaptcha-response را ارسال میکند.

  • بعد از اینکه کاربر چالش را کامل می‌کند، شما می‌توانید با استفاده از تابع rcaptcha.getResponse(opt_widget_id) مقدار پاسخ کاربر را دریافت کنید.

  • در صورتی که برای ویجت آرکپچا ویژگی data-callback را مقداردهی کرده باشید، پاسخ کاربر در قالب یک توکن به صورت آرگومان برای تابع callback ارسال خواهد شد.

محدودیت های توکن

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

پس از دریافت پاسخ توکن، باید آن را در عرض دو دقیقه با آرکپچا با استفاده از API زیر تأیید کنید تا مطمئن شوید که رمز معتبر است.

API Request

آدرس: https://www.widget.arcaptcha.co/arcaptcha/api/siteverify

متد: POST

پارامترهای POSTتوضیحات
secretضروری. کلید مشترک بین سایت شما و آرکپچا.
responseضروری. نشانه پاسخ کاربر ارائه شده توسط client-side آرکپچا در سایت شما.
remoteipاختیاری. آدرس IP کاربر.

پاسخ API

پاسخ، یک آبجکت JSON است:

{
"success": true|false,
"challenge_ts": timestamp, // مهر زمانی بار چالش (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"hostname": string, // نام میزبان سایتی که آرکپچا در آن حل شد
"error-codes": [...] // اختیاری
}

برای اندروید:

{
"success": true|false,
"challenge_ts": timestamp, // مهر زمانی بار چالش (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"apk_package_name": string, // نام پکیجی که در آن آرکپچا حل شد
"error-codes": [...] // اختیاری
}

مرجع کد خطا

کد خطاتوضیحات
missing-input-secretپارامتر مخفی وجود ندارد.
invalid-input-secretپارامتر مخفی نامعتبر یا نادرست است.
missing-input-responseپارامتر پاسخ وجود ندارد.
invalid-input-responseپارامتر پاسخ نامعتبر یا نادرست است.
bad-requestدرخواست نامعتبر یا نادرست است.
timeout-or-duplicateپاسخ دیگر معتبر نیست: یا خیلی قدیمی است یا قبلاً استفاده شده است.