より安全に利用するための設定
5. CAPTCHAでボットによる不正アクセスを抑止する¶
フォーム機能は、Webサイトをボットによる不正アクセスから守るためのセキュリティサービスの1つである「CAPTCHA」をサポートしています。本機能がサポートしているCAPTCHAサービスは、以下の3つです。
- Cloudflare Turnstile
- Google reCAPTCHA v3(ユーザ操作は不要)
- Google reCAPTCHA v2(ユーザ操作が必要)
5.1. サイトキーとシークレットキーの入手¶
以下のリンク先から利用開始手続きを行い、サイトキー(Site Key)とシークレットキー(Secret Key)を入手してください。
なお、各サービスの詳細については、各サービス提供会社のWebサイトを確認してください。
5.2. CAPTCHAの設置¶
以下では、サービスごとの設定手順を説明します。なお、設定が済むと、ページの下部にバッジが表示されますが、バッジの表示位置は変更できません。
Cloudflare Turnstileの場合はこちら
設定ファイルSecurity.jsonのパラメータ"CaptchaConfig"を以下のように編集します。
サイトキーとシークレットキーは、入手した各キーに置き換えてください
Webブラウザで公開アドレスを開くと、ページ下部(コマンドボタンエリアの直前、左右中央)にバッジが表示され、自動的に検証が始まります。なお、場合によっては自動で検証されず、手動での対応が必要となります。これは、プリザンターで制御しているわけではありません。Turnstileの仕様です。
検証完了後の表示は以下の通りです。
プライバシーポリシー(Privacy)や利用許諾契約書(Terms)へのリンクが表示されているため、本番運用の際は必ず確認してください。
Google reCAPTCHA v3の場合はこちら
設定ファイルSecurity.jsonのパラメータ"CaptchaConfig"を以下のように編集します。
サイトキーとシークレットキーは、入手した各キーに置き換えてください
"CaptchaConfig": {
"Type": "RecaptchaV3",
"SiteKey": "サイトキー",
"SecretKey": "シークレットキー",
"RecaptchaV3": {
"DefaultScoreThreshold": "0.7"
}
}
Webブラウザで公開アドレスを開くと、自動的に検証が実行され、ページの右下隅にバッジが表示されます。バッジには、プライバシーポリシーや利用許諾契約書へのリンクが表示されます。また、Googleは、日本のユーザ向けに個人情報の保護に関する法律、電気通信事業法に基づく事項を開示しています。本番運用の際は確認してください。
バッジにカーソルを合わせると、表示が展開します。
Google reCAPTCHA v2の場合はこちら
設定ファイルSecurity.jsonのパラメータ"CaptchaConfig"を以下のように編集します。
サイトキーとシークレットキーは、入手した各キーに置き換えてください
"CaptchaConfig": {
"Type": "RecaptchaV2",
"SiteKey": "サイトキー",
"SecretKey": "シークレットキー"
}
Webブラウザで公開アドレスを開くと、ページ下部(コマンドボタンエリアの直前、左右中央)にバッジが表示されます。バッジには、プライバシーポリシーや利用許諾契約書へのリンクが表示されます。また、Googleは、日本のユーザ向けに個人情報の保護に関する法律、電気通信事業法に基づく事項を開示しています。本番運用の際は確認してください。
チェックボックスをクリックすると、検証が実行されます。検証が完了すると、次のように表示されます。
5.3. CSPの設定¶
CAPTCHAサービスを正しく利用するには、CSP(コンテントセキュリティポリシー)の設定が必要です。
設定ファイルSecurity.jsonのパラメータ"ContentSecurityPolicy"配下のディレクティブを以下のように書き替え、保存してください。保存後、プリザンターを再起動すると、変更が反映されます。
書き替えるべきディレクティブは、CAPTCHAサービスプロバイダー(Cloudflare / Google)により異なります。
Cloudflare Turnstileの場合はこちら
Cloudflareが推奨する設定が変更される可能性もあります。公式情報も合わせて確認してください。
"ContentSecurityPolicy": {
"Enabled": false,
"ReportOnlyEnabled": true,
"Values": [
{
"default-src": "'self'",
"script-src": "'self' 'strict-dynamic' https://challenges.cloudflare.com",
"script-src-attr": "'self' 'unsafe-inline'",
"script-src-elem": "",
"style-src": "'self'",
"style-src-attr": "'self' 'unsafe-inline'",
"style-src-elem": "'self' 'unsafe-inline'",
"img-src": "'self' data:",
"font-src": "'self' data:",
"object-src": "'none'",
"connect-src": "'self'",
"frame-src": "'self' https://challenges.cloudflare.com",
"manifest-src": "",
"media-src": "",
"worker-src": "",
"base-uri": "'self'",
"form-action": "'self'",
"frame-ancestors": "",
"report-uri": "/CspReport/Report",
"report-to": "",
"sandbox": "",
"upgrade-insecure-requests": false
}
]
Google reCAPTCHA(v3/v2共通)の場合はこちら
Googleが推奨する設定が変更される可能性もあります。公式情報も合わせて確認してください。
"ContentSecurityPolicy": {
"Enabled": false,
"ReportOnlyEnabled": true,
"Values": [
{
"default-src": "'self'",
"script-src": "'self' 'strict-dynamic' https://www.google.com/recaptcha https://www.gstatic.com/recaptcha",
"script-src-attr": "'self' 'unsafe-inline'",
"script-src-elem": "",
"style-src": "'self'",
"style-src-attr": "'self' 'unsafe-inline'",
"style-src-elem": "'self' 'unsafe-inline'",
"img-src": "'self' data:",
"font-src": "'self' data:",
"object-src": "'none'",
"connect-src": "'self' https://www.google.com/recaptcha",
"frame-src": "'self' https://www.google.com https://www.google.com/recaptcha https://recaptcha.google.com/recaptcha",
"manifest-src": "",
"media-src": "",
"worker-src": "",
"base-uri": "'self'",
"form-action": "'self'",
"frame-ancestors": "",
"report-uri": "/CspReport/Report",
"report-to": "",
"sandbox": "",
"upgrade-insecure-requests": false
}
]
6. 未認証ユーザアクセス時のページ遷移設定¶
プリザンターにログインしていない状態で、プリザンターが解釈可能なURLへアクセスした場合、プリザンターはログイン画面へ遷移するように設計されています。フォーム機能の利用にあたり、この遷移がセキュリティ上の懸念となる場合は、設定ファイルSecurity.jsonのパラメータ"ShowLoginPageOnAuthError"の値をfalseに設定してください。
| 設定値 | 意味 |
|---|---|
| true | ログイン画面に遷移します。既定の設定です。 |
| false | 404エラーとなります。遷移先のページでは、「戻る」ボタン、ロゴのリンクは表示されません。 |
7. CAPTCHA機能を無効化する¶
フォーム機能を社内イントラネット内で利用する場合など、CAPTCHA機能が不要な場合は、設定ファイルSecurity.jsonのパラメータ"CaptchaConfig"を以下のように編集してください。
また、CSPの設定を元の設定に戻してください。






