脆弱性対策〜SQLインジェクション〜

SQLインジェクションの対策としては静的プレースホルダを用いた手法が有効らしいということがわかった。静的というからには動的プレースホルダも存在し、それは以下のような 設定で使い分けることができる。

PDO::ATTR_EMULATE_PREPARES => false  #これで静的
PDO::ATTR_EMULATE_PREPARES => true    #これで動的

そもそもプレースホルダとは場所取りという意味であり、入力のタイプを予め規定しておくことができる。それゆえ、Mysqlのコードを予想外の場所に入力することで可能となるSQLインジェクションを防ぐことができる。

どうやら静的プレースホルダと動的プレースホルダは一長一短であるようなので次回はそれを具体的に検証してみようと思う。