アカウント名:
パスワード:
自前でやるからバグが混入するサニタイズする関数やライブラリが主要言語に標準であればいい
SQLインジェクションの標準的な対策はサニタイズじゃなくてステートメント利用ですよ。
ステートメント使ったところで信頼出来ない文字列でSQL組み立ててりゃダメだろ。
少なくとも本件の原因となったSQLインジェクションは防げるわけだから十分じゃないの。
エスケープしないとならない文字のチェックはSQLエンジンに任せるのが確実で、それを自前でやってどれだけ効果があるのか疑問だし、そもそもステートメント使ってれば、発生する事象は検索・更新できないと言う方向になるわけで、データを壊したり流出させる可能性は限りなく低いと思うのだけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
主要言語にサニタイズの関数なりライブラリつけろよ (スコア:0)
自前でやるからバグが混入する
サニタイズする関数やライブラリが主要言語に標準であればいい
Re: (スコア:2)
SQLインジェクションの標準的な対策はサニタイズじゃなくてステートメント利用ですよ。
Re:主要言語にサニタイズの関数なりライブラリつけろよ (スコア:0)
ステートメント使ったところで信頼出来ない文字列でSQL組み立ててりゃダメだろ。
Re:主要言語にサニタイズの関数なりライブラリつけろよ (スコア:1)
少なくとも本件の原因となったSQLインジェクションは防げるわけだから十分じゃないの。
エスケープしないとならない文字のチェックはSQLエンジンに任せるのが確実で、それを自前でやってどれだけ効果があるのか疑問だし、そもそもステートメント使ってれば、発生する事象は検索・更新できないと言う方向になるわけで、データを壊したり流出させる可能性は限りなく低いと思うのだけど。