[mew-dist 28628] Re: msg-id:に変な文字があるときsmewがエラー終了

KOIE Hidetaka ( 鯉江英隆 ) hide at example.com
2008年 9月 24日 (水) 13:26:42 JST


  Message-Id: <20080917.200812.189619399.tomoyuki at example.com>
  Date:       Wed, 17 Sep 2008 20:08:12 +0900 (JST)
  From:       Tomoyuki Murakami <tomoyuki at example.com>
  Subject:    [mew-dist 28625] Re: msg-id:に変な文字があるときsmewがエ..

  | hide> message-id: <20080813122201t'5_5b at example.com>
  | hide> というように「'」を含んでいるメイルがあり
  | hide> (こんな文字が入っていていいのかは別にして)
  | hide> SQL injectionになっていました。
  :
  | cmewの方ではplace-holder '?' を使った書き方になっている一方でsmew
  | はSQL直書きになっていて今一コードに統一感がないなと思いました。
  | cmewの方の書き方をすればxxquoteしなくても適切に処理されると思いま
  | す。(試してません)

select_by_id()は
    db.execute("SELECT * FROM mew WHERE (mew.id = ?);", id) do |ent|
と書いて動いたのですが、
select_by_parid()の方は
条件をORでつないでからexecuteするコードになっているので
'?'をつかえませんでした。revision 1.2のころのコードならいけるんですが。
#rev 1.3のコードを提案したのは私です..

--
KOIE Hidetaka <hide at example.com>



Mew-dist メーリングリストの案内