メニューをスキップして本文へ


ここから本文

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

  • 2008年3月18日(火) 00:43 JST
  • 投稿者:
  • 閲覧数
    1,835

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でエスケープシーケンスをしたことがないくろねこであった...

トラックバック

このエントリのトラックバックURL:
http://www.blackcatlab.com/trackback.php/080318_nmoxmenu_bug
表示形式
コメント投稿

サイト管理者はコメントに関する責任を負いません。

  • お恥ずかしい…
  • 投稿者:くろねこ  2008年3月18日(火) 10:46 JST

今日、ちょっと調べたところすぐに分かりました。
SQLのエスケープシーケンス。
ただ対象の文字の前に"\"を付けるだけなのですね、もとのソースにエスケープシーケンスがあるじゃあ無いですか。
見たことがないSQLだな、なんて思っている場合では無かったですね。

サブメニュー1をスキップしてサブメニュー2へ

ログイン

ログイン

あくせすかうんたぁ

テーマ変更

広告


ここからサブメニュー2

サブメニュー2をスキップしてフッタへ


ここからフッタ