01 / DECISION
この primitive を選ぶ時
Turnstile で form / action に abuse friction を追加し、application authentication / authorization は別に維持します。
02 / ARCHITECTURE
最小で説明可能な path を作る
正しい hostname / action、single-use token、server-side verification、expected field、expired / replayed rejection を実装します。
- 01contract を定義
Turnstile で form / action に abuse friction を追加し、application authentication / authorization は別に維持します。
- 02primitive を一つ追加
正しい hostname / action、single-use token、server-side verification、expected field、expired / replayed rejection を実装します。
- 03failure evidence を残す
missing、malformed、expired、duplicate、wrong-host token を試し、verification 前に protected action が走らないことを確認します。
03 / REPRODUCE
confidence の前に evidence
missing、malformed、expired、duplicate、wrong-host token を試し、verification 前に 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
一次資料を authoritative に保つ
product behavior、limit、pricing、availability は変わります。実行前に source を再確認してください。