Skip to content

รหัสข้อผิดพลาด ​

ตารางนี้มีไว้สำหรับเจ้าของไซต์ วิดเจ็ตใส่รหัสเหล่านี้ใน code ของเหตุการณ์ error ส่วน validateChallenge คืนค่าเป็น reason และ capd แสดงเป็นเหตุผลในเหตุการณ์ที่ถูกบล็อกและไม่ผ่าน

รหัสที่มาความหมาย
missing_endpointวิดเจ็ตวิดเจ็ตไม่มีทั้ง data-cap-api-endpoint และ CAP_CUSTOM_FETCH
network_errorวิดเจ็ตendpoint ของ challenge คืนข้อผิดพลาด หรือไม่มี challenge ส่งมา
challenge_parse_errorวิดเจ็ตคำตอบของ challenge ไม่ใช่ JSON
challenge_unsupportedวิดเจ็ตchallenge ใช้โปรโตคอลที่วิดเจ็ตรุ่นนี้แก้ไม่ได้ หรือใช้ HashWX ในเบราว์เซอร์ที่ไม่มี WebAssembly
solve_failedวิดเจ็ตworker ที่แก้ challenge ทำงานไม่สำเร็จ คำขอส่งไปไม่ถึงเซิร์ฟเวอร์ หรือข้อผิดพลาดไม่มีรหัสของตัวเอง
redeem_failedวิดเจ็ตคำตอบของ /redeem ไม่ใช่ JSON
invalid_solutionวิดเจ็ต, เซิร์ฟเวอร์เซิร์ฟเวอร์ปฏิเสธการแลก token ในวิดเจ็ต message ของเหตุการณ์คือ error ของเซิร์ฟเวอร์ ส่วนเมื่อมาจากเซิร์ฟเวอร์ หมายถึง proof-of-work ไม่ถูกต้อง
invalid_expiresวิดเจ็ตเวลาหมดอายุของ token ไม่อยู่ภายใน 24 ชั่วโมงข้างหน้า ซึ่งบ่งชี้ว่านาฬิกาของเซิร์ฟเวอร์ไม่ถูกต้อง
instr_csp_blockedวิดเจ็ต, เซิร์ฟเวอร์Content Security Policy ของหน้าบล็อกสคริปต์ instrumentation ให้ตั้ง CAP_SCRIPT_NONCE ตามที่อธิบายไว้ใน Content Security Policy
instr_natives_tamperedวิดเจ็ต, เซิร์ฟเวอร์ฟังก์ชันของเบราว์เซอร์ที่สคริปต์ต้องใช้ถูกส่วนขยายหรือสคริปต์บนหน้าแทนที่ก่อนเริ่มรัน
instr_env_failedวิดเจ็ต, เซิร์ฟเวอร์การตรวจสอบสภาพแวดล้อมไม่ผ่านก่อนโปรแกรมเริ่มรัน สคริปต์ไม่ได้รันในหน้าเบราว์เซอร์จริง หรือมีบางอย่างเปลี่ยนเฟรม
instr_script_failedวิดเจ็ต, เซิร์ฟเวอร์โปรแกรมโยนข้อผิดพลาดหลังจากผ่านการตรวจสอบสภาพแวดล้อมแล้ว
instr_blockedวิดเจ็ตการตรวจสอบเบราว์เซอร์อัตโนมัติของสคริปต์เองไม่ผ่าน เซิร์ฟเวอร์บันทึก instr_automated_browser หากคีย์บล็อกเบราว์เซอร์อัตโนมัติ และ instr_failed หากไม่ได้บล็อก
instr_timeoutวิดเจ็ต, เซิร์ฟเวอร์สคริปต์ไม่ตอบภายใน 20 วินาทีหลังวิดเจ็ตสั่งให้จบ
invalid_body, missing_token, missing_solutions, invalid_solutionsเซิร์ฟเวอร์คำขอ /redeem มีรูปแบบไม่ถูกต้อง
invalid_tokenเซิร์ฟเวอร์token ของ challenge ถูกปลอม มีรูปแบบไม่ถูกต้อง หรือลงนามด้วย secret อื่น
scope_mismatchเซิร์ฟเวอร์token เป็นของคีย์ไซต์หรือ scope อื่น
expiredเซิร์ฟเวอร์challenge หมดอายุก่อนนำมาแลก token
already_redeemedเซิร์ฟเวอร์challenge ถูกใช้ไปแล้ว การตรวจสอบ instrumentation ที่ไม่ผ่านก็ทำให้ใช้ไปแล้วเช่นกัน
nonce_store_errorเซิร์ฟเวอร์consumeNonce โยนข้อผิดพลาด
instr_missingเซิร์ฟเวอร์คำขอไม่มีผลลัพธ์ instrumentation
instr_corruptedเซิร์ฟเวอร์เซิร์ฟเวอร์ถอดรหัสข้อมูล instrumentation ของ challenge ไม่ได้ ซึ่งมักเกิดจาก secret เปลี่ยนไป
instr_expiredเซิร์ฟเวอร์ผลลัพธ์ instrumentation มาถึงหลัง challenge หมดอายุ
instr_staleเซิร์ฟเวอร์ผลลัพธ์อ้างว่าใช้เวลาเกินกว่าที่ challenge อนุญาต
instr_oversizedเซิร์ฟเวอร์ข้อมูลที่เก็บมามีขนาดเกิน 65,536 อักขระ
id_mismatchเซิร์ฟเวอร์ผลลัพธ์เป็นของ challenge อื่น
failed_challengeเซิร์ฟเวอร์ตัวเลขในผลลัพธ์ไม่ถูกต้อง โดยผลลัพธ์ถูกแก้ไข หรือเบราว์เซอร์คำนวณโปรแกรมไม่ถูกต้อง
invalid_state, missing_output, missing_meta, invalid_metaเซิร์ฟเวอร์ผลลัพธ์หรือข้อมูล challenge ที่ปิดผนึกไว้มีรูปแบบไม่ถูกต้อง
instr_failedเซิร์ฟเวอร์วิดเจ็ตรายงานความล้มเหลวที่เซิร์ฟเวอร์ไม่รู้จัก
instr_automated_browserเซิร์ฟเวอร์การตรวจสอบเบราว์เซอร์อัตโนมัติไม่ผ่าน โดย blockedBy ระบุรายการที่ไม่ผ่าน
instr_probe_missingเซิร์ฟเวอร์คีย์บล็อกเบราว์เซอร์อัตโนมัติ แต่ผลลัพธ์ไม่มีข้อมูลเบราว์เซอร์
instr_automated_interactionเซิร์ฟเวอร์สคริปต์ส่งการคลิกหรือการกดปุ่มตั้งแต่สามครั้งขึ้นไป ดูการตรวจจับการโต้ตอบ
instr_host_unreachableเซิร์ฟเวอร์สคริปต์อ่านหน้ารอบเฟรมไม่ได้ และนโยบายของคีย์ต้องใช้ข้อมูลนั้น
instr_isolatedเซิร์ฟเวอร์หน้าตั้งค่า CAP_ISOLATE และคีย์นี้ต้องใช้ข้อมูลการโต้ตอบ พฤติกรรม หรือ agent ที่เฟรมแบบแยกเก็บไม่ได้ ให้ปิดการบล็อกเหล่านั้นสำหรับคีย์นี้ หรือนำ CAP_ISOLATE ออก
instr_widget_outdatedเซิร์ฟเวอร์วิดเจ็ตจากรุ่นก่อนหน้าทำตามข้อกำหนดของคีย์นี้ไม่ได้ ให้อัปเดตวิดเจ็ต
behavior_missingเซิร์ฟเวอร์เปิดการให้คะแนนพฤติกรรมไว้ แต่ผลลัพธ์ไม่มีข้อมูลพฤติกรรม
behavior_automatedเซิร์ฟเวอร์คะแนนพฤติกรรมถึงเกณฑ์
behavior_no_interactionเซิร์ฟเวอร์ไม่มีการกดวิดเจ็ต และคีย์บังคับให้มีการโต้ตอบ
behavior_agentเซิร์ฟเวอร์ตรวจพบ AI agent และคีย์บล็อก agent นั้น
rate_limitedcapdไคลเอนต์เกินอัตราคำขอที่คีย์กำหนด
non_browser_ua, missing_headercapdคำขอ challenge ไม่ผ่านตัวกรองคำขอของคีย์
rule:<id>capdกฎของคีย์บล็อกคำขอ
signal:<flag>capdคีย์ถูกตั้งให้บล็อกเมื่อมีแฟล็กความเสี่ยงนั้น

คำตอบ /redeem ของ capd เปลี่ยนชื่อบางรหัสในฟิลด์ reason ของตัวเอง โดย instr_automated_browser เป็น automated_browser_detected, instr_automated_interaction เป็น automated_interaction_detected, instr_corrupted เป็น corrupted_instrumentation_data, instr_missing เป็น missing_instrumentation_response, instr_expired เป็น expired และ instr_timeout เป็น timeout พร้อมสถานะ 429

เผยแพร่ภายใต้สัญญาอนุญาต Apache 2.0