پاسخ کاربر را تائید کنید.
این صفحه نحوه تأیید پاسخ کاربر به چالش آرکپچا را از طریق 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 | پاسخ دیگر معتبر نیست: یا خیلی قدیمی است یا قبلاً استفاده شده است. |