[GAS] Webフォームの海外スパムをCloudflare Turnstileで完全遮断する方法

はじめに

WordPressやWebサイトでお問い合わせフォームを運用していると、毎日のように「大量の海外スパムメール」や「英語のスクリプト連投」が届き、業務に支障をきたすケースが後を絶ちません。

特に、バックエンドに Google Apps Script(GAS)やスプレッドシート連携を用いているフォームでは、action="GASのURL" が公開HTML上に直接露出していることが多く、ボットがそのURLへ直接リクエストをPOSTすることで、無制限にスパムデータがスプレッドシートやLINE・メールへ送信されてしまいます。

また、従来対策として使われてきた Google reCAPTCHA(v2/v3)では、「バスや消火栓を選ぶ画像認証」がユーザーに負荷を与えたり、誤判定によって正規のお問い合わせを拒否してしまう問題(CVRの低下)もありました。

本記事では、ユーザー体験(UX)を損なうことなく、ボットによる自動送信・直叩きスパムを100%近くまでシャットアウトする「Cloudflare Turnstile + 三重防衛プログラム」の実装方法を詳しく解説します。

今回構築する仕組みの概要

ユーザーには難しい画像認証などのストレスを与えず、バックエンドとフロントエンドの両面でボットのみを弾く「三重防衛陣形」を構築します。

  • フロントエンドの完全非同期化(fetch API)
    HTML上の <form action="..."> を撤去し、JavaScriptの安全検証(バリデーション)を通った安全なリクエストのみをGASへ送信します。
  • Cloudflare Turnstile によるスマート認証
    ユーザーに画像選択を行わせず、ブラウザの挙動から人間かボットかを裏側で高精度判定します。
  • ハニーポット(ダミー罠) + 日本語判定の二重チェック
    人間には見えずボットだけが入力してしまう隠しフィールド(ハニーポット)と、氏名などに日本語が含まれない海外自動スパムをフロントエンド(JS)およびバックエンド(GAS)の両側で即座に自動破棄します。

ソースコード(コピペOK)

1. フロントエンド実装コード(HTML / JavaScript)

以下のコードを、WebサイトやWordPressのお問い合わせページに設置します。

2. バックエンド防御プログラム(Google Apps Script)

万が一、GASのWeb App URLを直接叩かれた(直叩きスパム)場合でも破棄できるよう、GAS側の doPost(e) の先頭にも多重ガードロジックを組み込みます。

設定・導入のステップ

Step 1: Cloudflare Turnstile サイトキーの取得

  1. Cloudflare ダッシュボードにログインし、サイドメニューの [Turnstile] > [ウィジェットを追加] をクリックします。
  2. サイト名とドメイン名(例: akita-csmedia.com)を入力します。
  3. ウィジェットモードは 「管理推奨(Managed)」 を選択します(ユーザー体験を邪魔せず自動検証が行われます)。
  4. 発行された 「サイトキー(Site Key)」 をコピーし、HTML内の data-sitekey="YOUR_CLOUDFLARE_SITE_KEY" 部分に貼り付けます。

Step 2: GASスクリプトプロパティの設定

  1. GASのエディタ画面を開き、左メニューの [プロジェクトの設定] (歯車アイコン) をクリックします。
  2. [スクリプト プロパティを追加] を選択し、以下のプロパティを登録します。
  • プロパティ名: SPREADSHEET_ID
  • 値: 記帳先スプレッドシートのID
  1. [デプロイ] > [新しいデプロイ] を選択し、アクセスできるユーザーを 「全員(Anyone)」 に設定してデプロイを実行します。
  2. 発行された ウェブアプリURL をコピーし、フロントエンドの YOUR_GAS_ENDPOINT_URL に貼り付けます。

まとめ

お問い合わせフォームのスパム対策で最も重要なのは、「ボットは確実に防ぎつつ、人間のユーザーにはストレスを一切与えないこと」 です。

今回ご紹介した Cloudflare Turnstile とフロント/バックエンドの二重チェック(ハニーポット + 日本語判定)を導入することで、CVR(コンバージョン率)を一切落とさずにスパム通知をゼロまで削減できます。

💡 この機能が最初から入った完成品サービスをお探しの方へ

「設定作業をプロに任せたい」「現場ですぐ使える高セキュリティなWebフォームや業務アプリとして導入したい」方向けに、今回ご紹介した機能が標準搭載された完成品ソリューションを提供しています。

👉 【高セキュリティWebフォーム・Glide/GASアプリ】の詳細・導入事例を見る

🏢 インフラ構築や組織全体のDXからご相談されたい方へ

Google Workspaceの導入、独自ドメインの整備からアプリ・LINE連携まで、予算最小限で進める全体設計は「地域DX完全ロードマップ」にて詳しく公開しています。

👉 【完全マニュアル】地域DXロードマップはこちら

\ 最新情報をチェック /