記事No | : 15857 |
投稿日 | : 2018/04/21(Sat) 12:40:58 |
タイトル | : Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
掲示板LightBoardV9.1を使わして頂いています。
最近、外国語の投稿で特にロシア語風や中国語の漢字の投稿が増えて困っています。英語の投稿なら理解できるのですが、全く理解できない投稿なので、削除するのに手を焼いています。
init.cgiで;
# 日本語チェック(投稿時日本語が含まれていなければ拒否する)
# 0=No 1=Yes
$cf{jp_wd} = 1
に設定してあるのですが、これが効いていないようです。
この設定以外に日本語以外の投稿を拒否する方法はありますか?
記事No | : 15862 |
投稿日 | : 2018/04/22(Sun) 02:07:55 |
タイトル | : Re: Light Boardで日本語以外を拒否 |
ID情報 | : hirayama |
投稿者 | : hirayama |
> # 0=No 1=Yes
> $cf{jp_wd} = 1
> に設定してあるのですが、これが効いていないようです。
効いていないということはないと思います。
以前調べたことがあるのですが、海外からの投稿で文字化けした文字がたまたま日本語の全角文字と判断されたのか
日本語チェックをすり抜けてしまう場合があるようです。
http://shade-search.com/sts/term/term.php?noform=TKioaosetN&sort=menu#midashiTKioaosetN1
light.cgiでは、
regist.cgi 240行目の
if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
で投稿した内容が日本語かどうかチェックしています。これは全角文字が1個あるかどうかのチェックです。
これを
$in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
として全角文字が2個以上続けて入っているか、あるいは
$in{comment} !~ /(\x82[\x9F-\xF1]){2}/
としてひらがなが連続2個以上ふくまれているかどうかのチェックに変更してみてはいかがでしょうか。
記事No | : 15872 |
投稿日 | : 2018/05/02(Wed) 23:36:15 |
タイトル | : Re^2: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
> > # 0=No 1=Yes
> > $cf{jp_wd} = 1
> > に設定してあるのですが、これが効いていないようです。
>
> 効いていないということはないと思います。
> 以前調べたことがあるのですが、海外からの投稿で文字化けした文字がたまたま日本語の全角文字と判断されたのか
> 日本語チェックをすり抜けてしまう場合があるようです。
> http://shade-search.com/sts/term/term.php?noform=TKioaosetN&sort=menu#midashiTKioaosetN1
>
> light.cgiでは、
> regist.cgi 240行目の
> if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
>
> で投稿した内容が日本語かどうかチェックしています。これは全角文字が1個あるかどうかのチェックです。
> これを
>
> $in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
>
> として全角文字が2個以上続けて入っているか、あるいは
>
> $in{comment} !~ /(\x82[\x9F-\xF1]){2}/
>
> としてひらがなが連続2個以上ふくまれているかどうかのチェックに変更してみてはいかがでしょうか。
記事No | : 15873 |
投稿日 | : 2018/05/02(Wed) 23:42:54 |
タイトル | : Re^2: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
hirayama様
ご示唆有難うございました。
小生、CGIの文法に詳しくないので、ご示唆通りにregist.cgi 240行目を
if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
に修正してみました。 結果は数日待って様子を見てみます。
> > # 0=No 1=Yes
> > $cf{jp_wd} = 1
> > に設定してあるのですが、これが効いていないようです。
>
> 効いていないということはないと思います。
> 以前調べたことがあるのですが、海外からの投稿で文字化けした文字がたまたま日本語の全角文字と判断されたのか
> 日本語チェックをすり抜けてしまう場合があるようです。
> http://shade-search.com/sts/term/term.php?noform=TKioaosetN&sort=menu#midashiTKioaosetN1
>
> light.cgiでは、
> regist.cgi 240行目の
> if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
>
> で投稿した内容が日本語かどうかチェックしています。これは全角文字が1個あるかどうかのチェックです。
> これを
>
> $in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
>
> として全角文字が2個以上続けて入っているか、あるいは
>
> $in{comment} !~ /(\x82[\x9F-\xF1]){2}/
>
> としてひらがなが連続2個以上ふくまれているかどうかのチェックに変更してみてはいかがでしょうか。
記事No | : 15874 |
投稿日 | : 2018/05/03(Thu) 00:41:05 |
タイトル | : Re^3: Light Boardで日本語以外を拒否 |
ID情報 | : hirayama |
投稿者 | : hirayama |
>if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
>に修正してみました。 結果は数日待って様子を見てみます。
これだとオリジナルのままということになります。
私が提案しているのは
$in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
または
$in{comment} !~ /(\x82[\x9F-\xF1]){2}/
への変更です。
記事No | : 15883 |
投稿日 | : 2018/05/04(Fri) 09:30:00 |
タイトル | : Re^4: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
> >if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
> >に修正してみました。 結果は数日待って様子を見てみます。
>
> これだとオリジナルのままということになります。
> 私が提案しているのは
>
> $in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
>
> または
>
> $in{comment} !~ /(\x82[\x9F-\xF1]){2}/
>
> への変更です。
記事No | : 15884 |
投稿日 | : 2018/05/04(Fri) 09:35:13 |
タイトル | : Re^5: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
> > >if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
> > >に修正してみました。 結果は数日待って様子を見てみます。
> >
> > これだとオリジナルのままということになります。
> > 私が提案しているのは
> >
> > $in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
> >
> > または
> >
> > $in{comment} !~ /(\x82[\x9F-\xF1]){2}/
> >
> > への変更です。
記事No | : 15885 |
投稿日 | : 2018/05/04(Fri) 09:36:32 |
タイトル | : Re^4: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
> >if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
> >に修正してみました。 結果は数日待って様子を見てみます。
>
> これだとオリジナルのままということになります。
> 私が提案しているのは
>
> $in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
>
> または
>
> $in{comment} !~ /(\x82[\x9F-\xF1]){2}/
>
> への変更です。
記事No | : 15886 |
投稿日 | : 2018/05/04(Fri) 09:41:02 |
タイトル | : Re^4: Light Boardで日本語以外を拒否 |
ID情報 | : icg1660 |
投稿者 | : 長兵衛 |
URL | : http://asumi.main.jp/ |
hirayama様
再度のご指摘有難うございました。
$in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
に直して試してみました。 今のところ日本語以外の投稿はありません。
記事No | : 15887 |
投稿日 | : 2018/05/04(Fri) 12:27:55 |
タイトル | : Re^5: Light Boardで日本語以外を拒否 |
ID情報 | : hirayama |
投稿者 | : hirayama |
私の書き方がまずかったのですが、
if ($in{comment} !~ /[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]/) {
をそのまま
$in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/
に変えてしまうとエラーになって投稿できないと思います。
入れ替えるのは()内だけです。
行ごと書き換えるなら
if ($in{comment} !~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]){2}/) {
としてください。