10
ログインして広告を非表示にする

コメント

  • 狭川 雀 @SagawaSuzume 2013-12-09 23:43:44
    「プリペアードステートメントを文字列結合で変な変数ぶちこんで作れるから危険」という指摘の対義は「エスケープ処理では文字の想定漏れや不適切な置換が発生しうるから危険」だろうかね。結局のところ「どんな方法であれ使い方が間違ってればどうしようもない」だし、逆に話題に出てるような方法は「適切に使えばどれでもOK」なんだが。
  • とげとげ @togetoge10 2013-12-10 00:25:11
    え…。そんなオチだったんですかー!!
  • Masahiro Hayashi @mhayashi1120 2013-12-10 01:32:37
    SQL に変数埋め込めることを知らないってことね。たぶん。
  • ⓇⓄⒸⒶ @rocaz 2013-12-10 06:43:19
    彼の主張の原因について考察をまとめてみました http://blog.rocaz.net/2013/12/1660.html
  • narusase @narusase 2013-12-11 01:43:11
    実務上、自分も @yohgaki の言うような酷いSQLを見ることは多々あるので、教育が必要という点については賛同。しかし、教えるべきはSQLインジェクションの基本原理と、どのようなコードで起こるか、どうすれば容易に起こらないように出来るか(正しくプリペアードステートメントつかえ、SQLの組み立てに外部の信用できない値を直接使うな)では?
  • narusase @narusase 2013-12-11 01:51:24
    プリペアードステートメントはたしかに使ってる・・・ だけど、SQLの組み立てで外部から渡される値を使ってるって糞なコードは普通に見る。最近見た酷いのだと、$tablenameがPOSTパラメータから渡された引数で、「'SELECT * FROM '.$tablename.'WHERE hoge = ?'」 みたいなのもごろごろと・・・ 糞なコードに限ってコピペ運用で増殖して酷いことになるんだよな・・・orz
  • chao2suke @chao2suke 2014-02-25 18:36:50
    プリペアードステートメントに変数でテーブル名とかSQL文とかを入れちゃうようなコードを書く人に 「入れちゃダメ」と教えるか 「エスケープしなさい」と教えるかって、もう好みのような気がするけど。

カテゴリーからまとめを探す

「バラエティー」に関連するカテゴリー