Cloudflare Worldedge community field guide

回顧版月刊 / 2025-08

Turnstile:Widget 只完成一半控制

Client token 需要 server-side Siteverify、expected context、expiry handling 與 fail-closed decision。

期號
20 / 32
首次發布
來源查核
檔案誠信

月份代表課程編排位置;本文首次發布於 2026-08-10,不冒充歷史發布紀錄或過往活動。

01 / DECISION

何時值得加入這個 primitive

使用 Turnstile 為 form 或 action 增加 abuse friction,同時保留 application authentication 與 authorization。

02 / ARCHITECTURE

建立最小且站得住腳的路徑

針對正確 hostname 與 action render widget、token 只送一次、server-side 驗證、檢查 expected fields,並拒絕 expired 或 replayed token。

  1. 01先命名 contract

    使用 Turnstile 為 form 或 action 增加 abuse friction,同時保留 application authentication 與 authorization。

  2. 02只加入一個 primitive

    針對正確 hostname 與 action render widget、token 只送一次、server-side 驗證、檢查 expected fields,並拒絕 expired 或 replayed token。

  3. 03保留 failure evidence

    測試 missing、malformed、expired、duplicate 與 wrong-host tokens,確認 protected action 不會在驗證前執行。

03 / REPRODUCE

有證據,再有信心

測試 missing、malformed、expired、duplicate 與 wrong-host tokens,確認 protected action 不會在驗證前執行。

curl -X POST https://challenges.cloudflare.com/turnstile/v0/siteverify

04 / BOUNDARY

Production boundary

Client-side success callback 不是證明;Turnstile 不負責決定誰能執行 privileged action。

05 / FIRST-PARTY SOURCES

讓第一方來源保持權威

產品行為、限制、價格與供應狀態會改變;採取行動前請重新核對這些來源。

01 / SOURCECloudflare Turnstilehttps://developers.cloudflare.com/turnstile/