CAPTCHAとは?

CAPTCHAは、人間には簡単で機械には解きにくい問いを出し、自動化されたプログラムによる不正な操作を見分ける仕組みです。

CAPTCHA のアイキャッチ図解
まずは、こう考えるとつかみやすいです。

遊園地の入場口で、係員が「目の前の絵に写っている動物を教えてください」のように、人には簡単だが機械には答えにくい問いをはさみ、自動入場を防ぐようなものです。

ひとことで言うと

CAPTCHAは、Webサイトのフォームなどで、操作しているのが人間かプログラムかを見分けるための問いかけです。歪んだ文字の読み取りや画像選択など、人には容易だが機械には難しい課題を出し、自動化された不正な操作をふるい落とします。

たとえ話でもう少し詳しく

CAPTCHAは、遊園地の入場口に似ています。

  • チケットを持っていても、そのまま誰でも通せるわけではない
  • 係員が「目の前の絵に写っている動物を教えてください」のような、人にはすぐ答えられる問いを一つはさむ
  • 機械仕掛けの人形は、この問いにとっさに答えられず立ち止まる

Webサイトでも同じ発想です。会員登録やお問い合わせフォームは誰でも送信できますが、そのままだと自動プログラムが大量に送りつけてくることがあります。歪んだ文字を読み取らせたり、指定された画像だけを選ばせたりして、人が操作しているかどうかを確かめています。

よく出る場面・使いどころ

  • 会員登録フォームで、自動プログラムによる大量登録を防ぎたいとき
  • ログイン画面で、レートリミットと組み合わせて総当たり攻撃を抑えたいとき
  • チケット予約やキャンペーン応募で、転売目的の自動購入を防ぎたいとき
  • 問い合わせフォームやコメント欄に届く迷惑投稿を減らしたいとき

似た言葉との違い

  • レートリミット: 短時間の依頼回数に上限を設ける仕組み。CAPTCHAは回数ではなく、操作している相手が人間かどうかを見分ける役割
  • 二要素認証: 本人であることを確かめる仕組み。CAPTCHAは本人確認ではなく、機械による自動操作かどうかの見分けが目的

実務で気にするポイント

  • 難易度が高すぎると、正規の利用者まで離脱してしまう
  • 視覚や聴覚に配慮した代替手段(音声読み上げなど)を用意しておく
  • CAPTCHAを設置しても、すり抜けを狙う自動化サービスは存在するため過信しない
  • フォームの重要度に応じて、設置する場所と強度を調整する

注意: CAPTCHAは自動プログラムを見分ける仕組みであり、本人確認や情報漏えい対策そのものではありません。ログインの安全性を高めるには、二要素認証など別の仕組みと組み合わせる必要があります。