コンテンツにスキップ

14-1 人か機械か(Turnstile とは)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
入口の係は、お客さんに何もさせずに人か機械かを見分けます。

店の入口に立つ係の中には、お客さんに話しかけずに見分ける人がいます。歩き方や持ち物を見て、様子のおかしい相手だけを止めます。止められなかったお客さんは、係がいたことにも気づきません。

第 12 章の検問や第 13 章の整理券は、通信の見た目や回数で決めていました。申込書に文字を書き込む場面では、そこにいるのが人かどうかを知りたくなります。

いま読んでいるこのサイト(Cloudflare Lab)にも、問い合わせのような書き込みの入口をいずれ置きます。そこへ機械が大量に書き込むのを、お客さんの手間を増やさずに防ぎたい。これがこの章の出発点です。

Learning goals

この節でできるようになること

  • Turnstile が何をする仕組みかを日常語で説明できる
  • CAPTCHA と何が違うかを公式の説明で言える
  • widget・token・siteverify の三段の流れを言える
  • Free plan で使える範囲を数字で言える

1. パズルを解かせない見分け方

Section titled “1. パズルを解かせない見分け方”

入口の係が「あなたは人ですか」と全員に尋ねていたら、本物のお客さんほど面倒に感じます。良い係は、尋ねずに見て決めます。

Cloudflare では、この係を Turnstile と呼びます。公式は、Turnstile を Cloudflare の賢い CAPTCHA の代替だと説明しています。どのウェブサイトにも埋め込むことができ、通信を Cloudflare に通さなくても働き、訪問者に CAPTCHA を見せずに動きます。

見分け方の中身も公式にあります。Turnstile はまず、小さな非対話の JavaScript の課題を走らせ、訪問者やブラウザの環境の手がかりを集めます。集めた手がかりで難易度を調整するので、目に見えるパズルを出さずに済みます。

係はお客さんを止めず、機械だけを見分けて止めます。

係は本物のお客さんを止めず、様子のおかしい相手だけを止めています。

つまり、Turnstile は「尋ねずに見分ける係」です。

昔の店では、ゆがんだ文字の紙を渡して「読んで書き写してください」と頼んでいました。人には面倒で、機械には読めてしまうこともあります。

公式は、Cloudflare が Challenge Platform を通して課題を出しており、それが Turnstile を支える技術でもあると説明しています。Cloudflare の Challenge ページと違い、Turnstile は CDN を使わずに、サイトのどこででも、より邪魔にならない形で課題を走らせられます。

扱う情報の範囲も公式にあります。Turnstile は必要なデータだけを処理し、利用者のやり取りやフォームに入力された内容には触れず、保存も送信もしません。

上は解かせるやり方、下は解かせないやり方です。

上は紙を渡して解かせるやり方、下は何も渡さないやり方です。

つまり、CAPTCHA との一番の違いは「お客さんに解かせないこと」です。

係が「この人は大丈夫」と判断しただけでは、事務所には伝わりません。係は大丈夫だと判断したお客さんに通行証を渡し、事務所がその通行証を本社に確かめます。

公式は、Turnstile が二つの段で動くと説明しています。まず JavaScript の widget が訪問者のブラウザで課題を走らせて token を作り、次にサーバーがその token を Cloudflare へ送って有効かどうかを確かめます。確かめる先が Siteverify API です。

この三つは 14-2 と 14-3 で順に扱います。ここでは「係を置く」「通行証を受け取る」「本社で確かめる」がそろって一組だ、とだけ覚えておきます。

見分ける、通行証を渡す、本社で確かめる。この三段で一組です。

左から、係が見分け、通行証を渡し、事務所が本社へ問い合わせています。矢印が一本でも切れると成立しません。

つまり、係と通行証と本社の確認の三段がそろって一組です(widget・token・Siteverify API)。

新しい係を雇うとき、まず気になるのは費用です。

公式の Plans のページは、Turnstile に FreeEnterprise の二つがあると示しています。Free は価格が無料で、置ける widget は 20 個までです。課題の回数(通信量や検証のリクエスト)に上限はなく、widget の種類はすべて使えます。

同じ表に、Free では 1 つの widget につき hostname を 10 件まで登録でき、分析をさかのぼれるのは最大 7 日ぶんだとあります。公式は、Turnstile が他の Cloudflare のサービスなしで単独で使えるとも書いています。

無料の範囲では、係を 20 人まで置けます。

無料の一覧表に、置ける係の数と登録できる店名の数が並んでいます。

つまり、Free plan は無料で、係は 20 人まで置けます。

ここで紹介した見分ける係が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。

Cloudflare Lab は現在、読むだけのページの集まりです。書き込みの入口を足す段階で Turnstile を 1 つ置き、Free plan の範囲で運用する予定です。実測は実装後に追記します。

  • Turnstile は、パズルを解かせずに人か機械かを見分ける係です。
  • 中身は小さな非対話の課題で、CAPTCHA を見せずに済ませます。
  • widget・token・Siteverify API の三段で一組で、Free plan は無料です。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 書き込みを守りたい / 尋ねずに見分ける係 Turnstile / 小さな非対話の課題 CAPTCHA を見せない / ページに置く係 widget / 受け取る通行証 token / 本社で確かめる Siteverify API / 無料の範囲 Free plan・widget 20 個

次の節では、この係を実際に店先に置く手順を見ます。

この節のチェック

問 1Turnstile の説明として公式に沿うものはどれですか?

問 2Turnstile が人か機械かを見分けるために最初に行うことはどれですか?

問 3Turnstile の働きの順として正しいものはどれですか?

問 4Free plan で置ける widget の数はいくつまでですか?

問 5Turnstile を使うには他の Cloudflare のサービスが必要ですか?

最終更新日: