Kugelblitz

いつ何時誰の挑戦でも受ける!

SQL:like検索時の’%’,’_’

SQLインジェクション対策のため、SQLの検索条件は必ずプレースホルダに入れて、アプリケーション側ではサニタイズしないのが定石かと思います。

ただ、like検索時の’%’,’_’についてはアプリケーション側でエスケープしてあげないと、例えば前方一致検索を想定している箇所で、%abc%みたいな入力をされると、意図に反して部分一致検索になってしまいます。また、”100%”みたいな文字列を検索することができません。これ、長年知らなかった。

Pocket

他の記事