ワンタイムトークン機能について

山崎さん (2022-05-18 13:43:05) ariyosi.jp/old_inquery_mailformPro4.2.3/

メールフォームプロ4.3.1を使用させていただいております。ありがとうございます。
設置方法を拝見し、ワンタイムトークン機能を有効にし、フォームページからすぐに送信テストをおこなったのですが、「トークンの有効期限が切れています。<br>The token has expired.」と表示され、送信ができません。

configs/onetimetoken.cgi にてトークンのキーを4桁の番号に変更しました。

考えうる問題点や解消方法をご教示いただけますと幸いです。
よろしくお願いいたします。

パーミッションをご確認ください

和田 (2022-05-18 22:08:40) www.synck.com

/data/フォルダ内の各ディレクトリのパーミッションが777あるいは読み書き可能なパーミッションになっていない可能性があります。
/data/onetimetoken/ というフォルダにトークンファイルが生成されていなかった場合、トークンファイルの生成に失敗している可能性があるため、パーミッションをご確認ください。

送信時にトークン切れや英語だけでは不可といったエラーが出る

ナカダさん (2024-01-12 13:25:53) mice.osaka-info.jp/businesses/contact_form/

迷惑メール対策のために、
「連続送信防止」「ワンタイムトークン」を設置いたしました。

設置後、トークンの有効期限が切れています。と出たため、
以前別の方が質問されていた内容を参考に
/mailformpro/data/内のonetimetokenフォルダを777にパーミッションを変更しました。
※基本的なパーミッションは説明書通り変更しています。

一旦トークンの有効期限が切れています。とは出なくなったと思ったら次は
英語のみの送信は出来ませんとエラーが出ました。
ただこちらは日本語でテストと記載もしているため、なぜこのエラーが出るのか不明です。

試行錯誤していた際、
説明にはpush @Modules,’onetimetoken’;を有効にするとありましたが、
加えて
push @AddOns,’onetimetoken/onetimetoken.js’;
も有効にしたところ送信ができました。

現在の設定ではpush @Modules,’onetimetoken’;だけでは効かないのでしょうか?
もしくはpush @AddOns,’onetimetoken/onetimetoken.js’;を使った方が良いのでしょうか。

また、日本語サイトのフォームには英語のみの送信は出来ない設定は生かしたいので、
日本語で入力しているのに英語だけでは送信できないエラーは出さないようにしたいです。

・連続送信防止
・ワンタイムトークン
上記が問題なく設定されていて、正常なお客様が送信時にエラーを出さず安定して送れるようにしたいです。
サポートお願いできますと幸いです。

はい。両方オンにする必要がございます。

和田 (2024-01-12 15:10:09) www.synck.com

push @Modules,’onetimetoken’;
push @AddOns,’onetimetoken/onetimetoken.js’;
上記、両方オンにする必要がございます。すいません、こちらの説明の不備ですね。

> 英語のみの送信は出来ませんとエラーが出ました。
こちらはおそらくブラウザの戻るボタンで戻った際か、なにかしらフォームに入力された状態をまったく変化させずに送信を試みた際にでるものだと思われます。