nmoxmenu Geeklog Plugin 4.0 にバグを見つけた

nmoxmenu Geeklog Plugin 4.0 を導入したんだが、何個か表示されない話題があると思いつつ調査できていなかったのだが...

ゼネの経験値課金も切れて気分的に余裕が出来た!

#SPAMがいっぱい来て困っててドメイン管理業者に何とかしろぉ~って言ってて結構暇はない。がんばって>MuuMuuさん
#管理がここから取得したドメインからどんどん送られてくるんだな。auもIPが逆引きできないUnknownのサーバからメールを受けるなつーの。

まあ置いておいて、functions.incの中身を調べてたらあった♪

nmoxmenu Geeklog Plugin 4.0 にバグを発見しました!
誰か対処方法を考えてください

問題点:
話題に"_"を含むと表示されない

原因:
言語指定のためのSQLを生成しているところで、WHERE 条件に Like を使用している

    //言語指定のためのSQLを生成

    $sql_lang=COM_getLangSQL("tid","where");

    if($sql_lang==''){

        $sql_lang=" where tid not like '%\_%'";

    }else{

        $sql_lang=$sql_lang." or tid not like '%\_%'";

    }

このため、下記のSQL文を実行する際に話題中に含まれる"_"がワイルドカードとして認識される

    $rs=DB_query("select * from ".$_TABLES["topics"].$sql_lang." union select * from ".$_TABLES["nmoxmenu_topics"].$sql_lang." order by sortnum asc");

話題中の"_"をすべてエスケープシーケンス出来ればいいのでだが...

可能なんでろうか?SQLでエスケープシーケンスをしたことがないくろねこであった...

コメント (1件)


くろねこ研究所
https://www.blackcat.xyz/article.php/080318_nmoxmenu_bug