レスポンシブ・メールフォームのトークンアドオンについて

セキュリティ
当サイトで無料でダウンロードできるレスポンシブ・メールフォームは、バージョン6.1からトークン機能をアドオンという形で追加できるようになりました。

レスポンシブ・メールフォームには「リファラ(送信元URL)チェック機能」が標準で付いているので、トークン機能はなくても問題ないかもしれません。
リファラ機能をオンにしてもまだ不審なメール送信をされる場合は、このトークン機能の導入を検討しても良いと思います。

現在の最新バージョンは2018年5月15日公開のバージョン1.0です。

トークンとは何か?

トークンとはIT用語辞典によると、以下のような意味になります。

トークンとは、証拠、記念品、代用貨幣、引換券、商品券などの意味を持つ英単語。トークンとは – IT用語辞典

メールフォームのようなプログラムにおいてのトークンの役割は、正規ユーザーであるかどうかをチェックするための認証チケット。のような意味合いになります。

なぜトークンが必要になるのかはWebページの仕組みが影響しています。
特にクロスサイト・リクエストフォージェリ(CSRF)攻撃を防ぐためにはトークンによる認証が効果的です。

CSRFについては「クロスサイト・リクエストフォージェリ(CSRF)攻撃とは何かを解説」のページをご覧ください。

機能の解説

この「トークンアドオン」を追加すると、フォームを送信する際に自動的にトークンも送信されるようになり、プログラム側ではトークンのチェックが行われます。(見た目や操作手順としては初期状態と何も変わりません)
トークンと共にフォーム送信

トークンアドオンはメールフォーム本体のバージョン6.1から使用可能ですが、6.1.1以降で使用した際には管理者に届くメール本文に以下のように表示されます。(6.1の場合は表示されないだけで機能はしています)
トークンチェックの結果表示

サンプルデモ

サンプルは以下からどうぞ。
自由に送信しても問題ありません。
トークンアドオン付きのメールフォームのサンプル

設置方法

説明
0、まずアドオンファイルを使用する前に、zipファイルを丸ごとコピーしてバックアップ保存しておくことをおすすめいたします。

1、zipファイルを展開します。

2、レスポンシブ・メールフォーム本体にあるaddonフォルダの中に、tokenフォルダを入れます。

設置は以上です。
設定のためのconfigファイルのようなものはありません。
実際にメールフォームを送信してみて、正常にフォームが送信され、メールが届けられるかの確認をしてみましょう。

初期状態(このアドオンなし)の状態に戻す方法

初期状態(このアドオンなし)の状態に戻すには、上記の設置手順2でaddonフォルダに入れたtokenフォルダごと削除することで戻ります。

他のアドオンとの併用について

レスポンシブ・メールフォームにはこれの他にも色々なアドオン(追加機能)がありますが、すべて併用することが可能です。
必要な機能だけを組み合わせてお使いください。

販売価格や購入方法

電卓
このアドオンは無料です。
以下からダウンロードできますので、この機能が必要な場合はお使いください。
トークンアドオンのダウンロード

トークン機能使用時のデメリットについて

トークンアドオンはセキュリティを高める効果がありますが、以下のデメリットが存在します。
このようなデメリットもあるので、トークンチェック機能は初期状態のメールフォームに標準付属させず、アドオンとして別配布の形態としました。

【トークン機能使用時のデメリット1】
このトークンアドオンはPHPの「セッション」という機能を利用してトークンを生成しています。
セッションとはCookie(クッキー)の一種だとお考えください。

ですので、フォーム入力者のブラウザが「Cookieを無効にする」というような設定をしている場合はトークンが生成できず、このアドオンによるチェックに引っかかってしまう可能性があります。

補足説明:Cookieを無効にしていると、ログインが必要なサイトなどで一度入力したパスワードが保存されなかったり、ログイン状態を維持できなくなりますので、Cookieを無効にしている人がどれほどいるかは不明です。

【トークン機能使用時のデメリット2】
PHPのセッションというものは、最後にアクセスしたときから24分間が有効期限となっています。

つまり、メールフォームページを表示させた時点(この時点でトークンを生成)から24分間経過するとそのトークンは無効となり、そのままフォームを送信してもトークンチェックに引っかかってしまうことになります。
これを回避するには、メールフォームページを再読み込みしてトークンを再生成する必要があります。

一定時間ごとに無効化されるからこそ、トークンチェックはCSRF攻撃のような不正送信に対してリファラチェック以上の防御性能を発揮するわけですから、このデメリットは致し方ないとお考えください。

注意点

このアドオンは現時点ではレスポンシブ・メールフォーム本体のバージョン6.1以降にのみ対応しています。
(メールフォーム本体のバージョンは、mailform.phpの冒頭あたりに記載してあります)

また、普通に使用していてプログラム上のバグ(不具合)があった場合には、追加料金なしでバグ修正を行いますので、そのような際にもご連絡ください。
(お客様の手によってJavaScriptファイルやPHPファイルを独自カスタマイズされている場合は除く)

アドオンのアップデートについて

メールフォーム本体とアドオンは適合するバージョンというものがあります。
どのバージョンが合うかは、各アドオン販売ページの一番下にある「アップデート履歴」でご確認ください。
(現在お使いのアドオンのバージョンはアドオンフォルダの中にある「version.php」、または「アドオン名-config.php」に記載してあります。)

ですので、もしアドオン購入後にメールフォーム本体をアップデートさせると、アドオンが古いバージョンのままのせいで正常動作しなくなる場合があります。

アップデート履歴

2018/05/15 バージョン1.0 (本体6.1~以降で動作確認済)
  • 公開。

サポートBBS

サポートBBS

サイト内を検索
アップデート情報

この「アップデート情報」欄はコンテンツ・メーカーを使用して更新・表示しています。

サイト運用事例
提供サポートなど
メールフォーム

ダウンロード一覧へ

カレンダー

これはビジネスカレンダーのサイト組み込みサンプルです。
サンプル管理画面から定休日の変更操作ができます。
ご自由にお試しください。(ユーザ名はtani、パスワードは0000です)

ダウンロード一覧へ

新着情報欄の更新

ダウンロード一覧へ

BBS

ダウンロード一覧へ

その他おすすめ

ダウンロード一覧へ

Web制作のブログ

ブログ記事一覧へ

カテゴリ別
制作者の詳細
  • 谷元博のブログ
  • Google+