記事No | : 13831 |
投稿日 | : 2015/03/02(Mon) 17:32:41 |
タイトル | : clipmail UTF-8バージョンで2重送信のチェック |
ID情報 | : okayan3 |
投稿者 | : 日高和美 |
URL | : http://zero-fb.com/otemon/clipmail-utf/clipmail.html |
ClipmailのVer: 5.02 (UTF-8版)をお借りしています。
メールの2重送信ができないように設定されているはずなのですが
ブラウザの戻るで戻って再度送信したら送信できてしまいます。
SHIFT-JISのバージョンではチェック機能が働いているようなのですが、何か設定が必要なのでしょうか?
パーミッション設定も確認しましたが、チェックできません。
申し訳ございません。
何か方法がありましたら教えてください。
記事No | : 13836 |
投稿日 | : 2015/03/03(Tue) 16:57:47 |
タイトル | : Re: clipmail UTF-8バージョンで2重送信のチェック |
ID情報 | : okayan3 |
投稿者 | : 日高和美 |
URL | : http://otemon.org/web_confirm/clipmail-utf/clipmail.cgi |
> ClipmailのVer: 5.02 (UTF-8版)をお借りしています。
>
> メールの2重送信ができないように設定されているはずなのですが
> ブラウザの戻るで戻って再度送信したら送信できてしまいます。
>
> SHIFT-JISのバージョンではチェック機能が働いているようなのですが、何か設定が必要なのでしょうか?
>
> パーミッション設定も確認しましたが、チェックできません。
> 申し訳ございません。
> 何か方法がありましたら教えてください。
check.cgiは何とか過去記事を拝見し、修正して見れるようになりました。
Check Mode: [ clipmail v5.0 ]
Perlバージョン : 5.014004
sendmailパス : OK
一時ディレクトリパス : OK
一時ディレクトリパーミッション : OK
BASE64ライブラリパス : NG
セッションファイルパス : OK
セッションファイルパーミッション : OK
ログファイルパス : OK
ログファイルパーミッション : OK
テンプレートパス ( conf.html ) : OK
テンプレートパス ( error.html ) : OK
テンプレートパス ( thanks.html ) : OK
テンプレートパス ( mail.txt ) : OK
テンプレートパス ( reply.txt ) : OK
ですが、以前2重送信のチェック機能は復活しません。
お手数をおかけしますが、お教えいただけますようお願いいたします。
記事No | : 13837 |
投稿日 | : 2015/03/04(Wed) 11:44:06 |
タイトル | : Re^2: clipmail UTF-8バージョンで2重送信のチェック |
ID情報 | : hirayama |
投稿者 | : hirayama |
私も同じ症状が出ました。
utf-8のみ二重チェックが効かないのは、文字コード変換がらみのようです。
二重送信チェックは、
送信済みのデータを保存する./data/log.cgiから最新データを読み込んで、
フォームから送信された内容が同じかどうかチェックしていますが、
log.cgiはshift-jisで保存されているため、照合の際、clipmail.cgiの文字コードと同じ
utf-8に変換する必要があります。
clipmail.cgi 339行目の
$log_data = conv_utf8($log_data) if ($cf{kcode} eq 'utf8');
がその部分ですが、これがうまく変換できていないようです。
どうも、元の文字コードを指定してやらないと変換できない場合があるようです。
なので、この行を
$log_data = conv_utf8($log_data,'sjis') if ($cf{kcode} eq 'utf8');
と変更してみてください。
記事No | : 13838 |
投稿日 | : 2015/03/04(Wed) 13:42:26 |
タイトル | : Re^3: clipmail UTF-8バージョンで2重送信のチェック |
ID情報 | : okayan3 |
投稿者 | : 日高和美 |
URL | : http://otemon.org/web_confirm/clipmail-utf/clipmail.cgi |
> 私も同じ症状が出ました。
> utf-8のみ二重チェックが効かないのは、文字コード変換がらみのようです。
>
> 二重送信チェックは、
> 送信済みのデータを保存する./data/log.cgiから最新データを読み込んで、
> フォームから送信された内容が同じかどうかチェックしていますが、
> log.cgiはshift-jisで保存されているため、照合の際、clipmail.cgiの文字コードと同じ
> utf-8に変換する必要があります。
>
> clipmail.cgi 339行目の
> $log_data = conv_utf8($log_data) if ($cf{kcode} eq 'utf8');
>
> がその部分ですが、これがうまく変換できていないようです。
>
> どうも、元の文字コードを指定してやらないと変換できない場合があるようです。
> なので、この行を
>
> $log_data = conv_utf8($log_data,'sjis') if ($cf{kcode} eq 'utf8');
>
> と変更してみてください。
ありがとうございます。
2重送信チェックできました!
本当に助かりました。
ありがとございました。