eFormでCAPTCHAコードを使う
eFormを利用したスクリプトからの迷惑メールを防止するために、CAPTCHA(認証コードの入力)機能を設定する。
設定にあたっては、Let’s Enjoy MODx内の解説ページを参考にした。
eFormのコードにパラメータを追加する
まずメールフォーム用のページを開き、編集モードでCAPTCHAコード用のパラメータを追加する(下記コード内の太字部分)。
[!eForm? &formid=`MailForm` &tpl=`MailForm` &report=`MailFormReport` &subject=`[(site_name)]|[+name+]様からお問い合わせ` &vericode=`1` !]
パラメータが’1′の場合、CAPTCHAを使用。’0′の場合は不使用となる。
入力用フォームにタグを追加する
続いて入力用フォーム(ここでは’MailForm’チャンク)にCAPTCHAコードを表示するための<img>タグとコード入力用のための<input>タグを追加する。
<label for="mfCaptcha">下記の認証コードを入力してください:
<img src="[+verimageurl+]" mce_src="[+verimageurl+]" /></label>
<label for="vericode">
<input name="vericode" id="vericode" class="text" type="text" />
</label>
CAPTCHAコードのURIは[+verimageurl+]というプレースホルダによって挿入されるので、<img>タグのアドレス指定部分にプレースホルダを記入すればよい。
さらに認証コードを入力するための<imput>タグのid属性に”vericode”と指定することで、入力したテキストがCAPTCHAコードと関連づけされる。
あとは、ふつうにメールフォームのページにアクセスすればCAPTCHAコードが表示される。なおフォーム送信時にCAPTCHAコードを入力せずに送信ボタンをクリックすると、エラーメッセージなどはなく、単に元のフォーム画面に戻る。
備考:MODx本体のCAPTCHA使用オプション
MODx本体の設定としてCAPTCHAコードを使用するかどうかを選ぶオプションがある(ツール→MODx設定→「ユーザー」タブ)が、これはeFormには関係ないので、「不使用」のままでもeFormでCAPTCHAを利用できる。
トラックバック URL :
コメント (0)