問い合わせフォームのスパム対策
・問い合わせフォームに大量のスパムが届きます。なにか対策はありませんか?
スパム対策になる機能を3種類ご用意しています。
① reCAPTCHAを利用する (推奨)
「reCAPTCHA」はGoogleが提供する機能です。ロボットによるスパム投稿の排除を行えます。
■ reCAPTCHA
https://developers.google.com/recaptcha/?hl=ja
取得したAPIキー(Site key と Secret key)を [サイト基本設定>サイト管理] の「reCaptcha Site Key」「reCaptcha Secret key」に入力して、[サイト基本設定>サイト管理] の「お問い合わせで画像認証をするか」にチェックを入れると利用できます。
* APIキーの発行方法については、Googleなどの検索エンジンでお調べください。
テンプレートにはv2の記述のサンプルは以下になります。
{headblock}
<script src="https://www.google.com/recaptcha/api.js"></script>
{/headblock}
<div class="g-recaptcha" data-sitekey="{$smarty.const.RE_CAPTCHA_SITE}"</div>
v3の場合の記述のサンプルは以下になります。
{headblock}
<script src="https://www.google.com/recaptcha/api.js?render= _reCAPTCHA_site_key"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('_reCAPTCHA_site_key').then(function(token) {
document.getElementById('g-recaptcha-response').value = token;
});
});
</script>
{/headblock}
<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" />
※確認画面を利用する場合には、確認画面で認証をするようにしてください。
※内部実装は
v2の場合https://developers.google.com/recaptcha/docs/display?hl=ja
v3の場合https://developers.google.com/recaptcha/docs/v3?hl=ja
を参考に実装されております。
② Akismetを利用する
[サイト基本設定>サイト管理] の「Akismetでスパムチェックをする」をチェックすると、問い合わせや掲示板で入力されたメールアドレスやコメントがAkismetに送信されて、スパム判定を行います。
■ Akismet
https://akismet.com
■ Automattic社(サービス提供会社)のプライバシーポリシー
http://automattic.com/privacy/
※ Akismetを利用すると、スパムではないのにスパム判定されてしまい、「コメントが不正です」のようなエラーが出ることがあります。
③ 画像認証を利用する
送信者に、送信前に画像内のアルファベットなどを入力してもらう方法です。
[サイト基本設定>サイト管理] の「お問い合わせで画像認証をするか」をチェックするとフォームに表示されます。