KENT-WEB サポートコーナー 過去ログ [ 0080 ]


記事No: 13831
投稿日: 2015/03/02(Mon) 17:32:41
タイトルclipmail UTF-8バージョンで2重送信のチェック
ID情報: okayan3
投稿者: 日高和美
URLhttp://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
投稿者: 日高和美
URLhttp://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
投稿者: 日高和美
URLhttp://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重送信チェックできました!
本当に助かりました。

ありがとございました。


[検索ページ] [掲示板]