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


記事No: 15857
投稿日: 2018/04/21(Sat) 12:40:58
タイトルLight Boardで日本語以外を拒否
ID情報: icg1660
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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
投稿者: 長兵衛
URLhttp://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}/) {

としてください。


[検索ページ]