CGI-BBS > 電子掲示板 > 簡易BBS > miniBBSの改造で英字のみの投稿を禁止したい。


カレッヂ
カレッヂ


データ復旧、即日 データ¨復旧¨テラステーション¨修理

質問者 きっこ  投稿日 2006/8/4(金) 12:29:39
ごめんなさい。初心者なのでよくわかりません。
miniBBS v8.91でこの改造は可能ですか?

ここに載っているMiniBBS-EX V1.30での改造方法を参照して
操作してみたのですが、ひらがなで書いてもカタカナで書いても
エラーとなってしまいます。


if (&chkZenkaku($LINE) ne 'sjis') { &error("エラー","内容文に日本語コードが検知できませんでした。"); }
sub chkZenkaku
{
 local($line) = @_;
 (@line) = &jcode'getcode(*line);
 $line[1];
}

を記入するだけではダメなのでしょうか?

プログラムによりチェックしたい変数名は異なりますので、
掲示板であれば内容文などが入っている変数に読み替えてください。
ここでは $LINE にチェックしたいデータが入っているものとします。
また、エラー処理は &error(); だと仮定しますので、そのプログラムで使われている方法に書き換えてください。
プログラムやデータをEUCで扱っている場合は euc が含まれるかどうかに変更してください。

↑このような説明書きがありましたが・・・
意味がよくわかりません。

大変お手数ですが詳しく教えてください。

【習熟度】多少の設置経験

回答者 rescue  [削除]  投稿日 2006/8/10(木) 23:03:06
変数を、そのプログラムのものに置き換える必要があります。
来週末まで夏休みのため、ご案内がそれ以降になりますことをご了承ください。

なお、それをやったとしても、既に相手(スパム)は、日本語を数文字入れて
投稿してきていることが報告されていますので、効果は期待できません。
一番早いのは、設置アドレスを変えることです。迷惑メールが増えたら
メアドを変えるのと同じ理論です。
回答者 rescue  [削除]  投稿日 2006/8/14(月) 12:12:50
最新バージョンv8.94での対応となります。位置はほぼ同じだと思います。

if ($FORM{'value'} eq '') { &error('入力ミス','内容を記入してください.'); }
という部分の後ろに、その部分を追加し、$LINEと書かれているところをすべて
$FORM{'value'}に置き換えていただければOKです。

----
サポート掲示板利用ご案内の通り、当方はバグと思われる事象以外には参加しません。
ただ、時間が許す場合に例外的に回答する場合がありますが、継続的にやりとりが
出来ない場合があります。ご理解ください。
質問者 きっこ  [削除]  投稿日 2006/8/22(火) 11:11:23
ありがとうございました!
バージョンアップして設置しました。
これで様子を見てみます!

このページは終了したので返信(回答)は書きこめません
 


データ復旧、即日 データ¨復旧¨テラステーション¨修理 Web裏技