送信元ドメイン制限

フォームの送信を自分のサイトからだけに制限する、送信元ドメイン制限の設定手順と注意点です。

HyperFormのフォームは、送信先のカスタムURLさえ分かれば、どのサイトからでも送信できてしまいます。送信元ドメイン制限を使うと、第三者にカスタムURLをコピー・悪用されることを防ぎ、ご自身のサイトからの送信だけを受け付けるようにできます。

しくみ

フォームの送信時にブラウザが自動で付与する Origin ヘッダー(送信元ページのドメイン情報)を、フォームに登録された許可ドメインの一覧と照合します。許可されていないドメインからの送信は拒否され、問い合わせデータも保存されません。

照合に使うのは Origin ヘッダーで、リファラー(Referer)ではありません。ただし、送信元ページで Referrer-Policy: no-referrer などのリファラーを送らない設定をしていると、Origin も送信されなくなり、正当な送信まで拒否されることがあります(後述)。

設定手順

フォームの「セキュリティ」画面の「送信元ドメイン制限」セクションで設定します。必ず「1. 許可ドメインの登録」→「2. 制限を有効化」の順で設定してください。

セキュリティ画面の送信元ドメイン制限。「送信元ドメインを制限する」のチェックボックスと、登録済みドメインの許可・拒否を切り替えるプルダウン

1. 許可ドメインを登録する

入力欄にご自身のサイトのドメインを https://example.com の形式で入力し、「許可する」を選んで保存します。

2. 制限を有効にする

「送信元ドメインを制限する」にチェックを入れて保存します。以降、登録済みドメインのうち「許可」になっているものだけが送信を受け付けられます。

ドメインの書き方

照合は登録値との完全一致です。以下の点にご注意ください。

  • https://(または http://)から書きます。example.com のようにスキームを省略した登録は一致しません。
  • 末尾の / は不要です。
  • www.example.comexample.com は別のドメインとして扱われます。両方から送信がある場合は両方登録してください。
  • http://https:// も区別されます。
  • サブドメインをまとめて許可するワイルドカード(*.example.com)は使えません。サブドメインごとに登録してください。

送信元ドメインの自動登録

フォームが送信を受け付けると、その送信元ドメインは自動で「登録済みドメイン」の一覧に追加されます。ただし自動登録の状態は「拒否」です。

すでに一覧にあるドメインを許可したい場合は、一覧のプルダウンで「許可する」に切り替えて保存してください。入力欄から同じドメインを「許可する」で追加した場合も、既存の登録が許可に上書きされます。

拒否されたときの見え方

許可されていないドメインから送信すると、訪問者には「アクセスが許可されていないドメインからのアクセスです。」というエラー画面(403)が表示されます。送信後のリダイレクト設定は適用されず、問い合わせデータも保存されません。

403エラー画面。「アクセスが許可されていないドメインからのアクセスです。」と表示されている

注意点

  • 制限を有効にすると、管理画面の「セットアップ > 送信テスト」からのフォーム送信ができなくなります(送信元が実際のサイトではなく管理画面になるため)。動作確認は、フォームを設置したサイトから実際に送信して行ってください。
  • 送信元ページでリファラーを送信しない設定(Referrer-Policy: no-referrer<meta name="referrer" content="no-referrer">)をしていると、ブラウザは Originnull として送るため、許可ドメインからの送信でも拒否されます。フォームを設置するページではこの設定を避けてください。
  • 送信元ドメイン制限の設定(ON/OFF・許可ドメインの一覧)は設定のコピー/インポートでは移りません。フォームごとに設定してください。

APIモードで送信する場合

APIモードを使う場合は、送信元ドメイン制限のON/OFFにかかわらず、送信元ドメインの登録と許可が必要です(ブラウザのCORSプリフライトで許可ドメインの照合が行われるため)。また、APIモードでは送信元ドメインの自動登録が行われないため、手動で登録してください。

ネイティブアプリやサーバーなど、ブラウザ以外から送信する場合は、任意のドメインを登録・許可し、リクエストの Origin ヘッダーにそのドメインをセットしてください。詳しくは問い合わせデータをAPIで送信するをご参照ください。

関連ページ