StoryEdit 開発日誌

ウェブアプリ StoryEditを作ってましたが延期。普通のブログ。

sql injectionに備える

さて.SQL文ですが,書き込まれたデータをいれるため,以下のように書いてました.

 sql = "insert into storytable values('%s', '%s');" % (name, story);

まぁこれだと,story,つまり,ユーザが書いた文章の中にsqlを埋め込めば,簡単にinjectionできてしまいます.

サニタイズとか必要だよな〜と思っていたのですが,とりあえず,フォーマッタは使うな,とのこと.Pythonでは,以下のようにexecuteに渡せば型チェックはしてくれているようです.

con.execute("insert into storytable values(?, ?)", (name, story));

問題はサニタイズが必要かどうかですが,,,どうなんでしょうか.
SQL Logをみるしかないかな.