# hCaptcha を使用する

> Formspree Docs · フォームとプロジェクトの設定 · 2025年11月18日

[hCaptcha](https://www.hcaptcha.com/) のボット検出サービスを Formspree で使用して、フォームを保護できます。hCaptcha はプライバシー、アクセシビリティ、カスタマイズ性に重点を置いた Google reCAPTCHA の代替手段です。

まず、[hCaptcha ダッシュボード](https://dashboard.hcaptcha.com/overview) にアクセスします。サイトを追加（または既存のサイトを使用）してドメインを追加します。エンタープライズ向けの高度な機能や、無料アカウントで利用できる機能もあります。必要に応じて設定して **Save** をクリックします。

作成後、利用可能なサイトのリストとサイト名の下に表示される **Site key** を確認できます。

![](/images/zendesk/e141bbe37f7f96f1.png)

**Site key** をコピーします。このキーは HTML フォームコードの設定に使用します。

次に、[アカウント設定ページ](https://dashboard.hcaptcha.com/settings/secrets)にアクセスして **Account-level Secret** をコピーします。このキーは Formspree のフォーム設定に使用します。

![](/images/zendesk/9274281d3cd60432.png)

**Site Key** と **Secret** の両方を用意したら、Formspree フォームの設定タブにアクセスし、CAPTCHA が有効になっていることを確認します。

![](/images/zendesk/c3e6f81f162896cb.png)

**Adjust settings** をクリックして **Secret Key** を貼り付けます。**Save** をクリックします。

![](/images/zendesk/ddde764d9a199de7.png)

最後のステップは、フォームコードに **hCaptcha** を追加することです。div コンポーネントに **Site key** を貼り付ける必要があります。標準的なフォーム設定では、次のように追加できます。

```html
<html>
  <head>
    <title>hCaptcha Demo</title>
    <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
  </head>
  <body>
    <form action="https://formspree.io/f/{your-form-id}" method="POST">
      <input type="text" name="email" placeholder="Email" />
      <div class="h-captcha" data-sitekey="{your-site-key}"></div>
      <br />
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>
```

また、AJAX を使ってフォームを送信することもできます。以下の例で、jQuery を使用して hCaptcha でフォームを送信する方法を確認してください。

```html
<html>
  <head>
    <title>hCaptcha Demo</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
  </head>
  <body>
    <form id="form" method="POST">
      <input type="email" name="email" placeholder="email@example.com" />
      <div class="h-captcha" data-sitekey="{your-site-key}"></div>
      <br/>
      <input type="submit" value="Submit">
    </form>
    <script type="text/javascript">
      $("form").submit(function(e){
      e.preventDefault();
      var hcaptchaVal = $('textarea[name=h-captcha-response]').val();

      $.ajax({
        url: 'https://formspree.io/f/{your-form-id}',
        type: "POST",
        dataType: "json",
        data: {"h-captcha-response": hcaptchaVal, "email": $("input[name='email']").val()},
        success: function(data) {
          console.log(data)
        }
      })
     });
    </script>
  </body>
</html>
```

ローカルで開発している場合、[hCaptcha はローカルホスト（127.0.0.1）でホストされているアプリでは実行できない](https://docs.hcaptcha.com/#local-development)ことに注意してください。これを回避するには、ホストエントリを設定するか、ngrok などの HTTP トンネリングサービスを使用する必要があります。
