アカウント名:
パスワード:
自前でやるからバグが混入するサニタイズする関数やライブラリが主要言語に標準であればいい
SQLインジェクションの標準的な対策はサニタイズじゃなくてステートメント利用ですよ。
20年近く前でもステートメントなんて常識に近かったのに未だに使ってないアホな所あるの?百歩譲って数十年前から稼働し続けてるとかならまだギリギリ理解できるが(それでも普通は対応する)レガシーASPの時ですらやってたぞ。今どきなら学生が作ってすら当然のように対策してるよな。
修正コミット [github.com]見ると、パラメータがエスケープされるようにしましたみたいな感じだな。
まあ今だったらこなれたライブラリを使うんだが、GLPIはスタートが2003とかみたいだし開発リソースが足りないとテコ入れ改修は難しいのかな、ライブラリは流行り廃りもあるし。
それでも普通は対応する
プロジェクトのお守りする立場だったら考えるけど、一開発者ならあんま振られたくないお仕事だなw
これ、PHPのプロダクトなんですね。
PHPは知らないので調べたみたら、PHPでDB接続するには、PDO(PHP標準)を使用する様で、このPDOが実装されたのが 5.1.0(2005年リリース)だそうです。なので、2003年のプロダクトだと非標準のライブラリを使ってるわけで、そのライブラリがステートメント対応してなければ、上記の対応でもしょうがないですね。
自分はステートメント使わずにいつも文字列連結だなぁ。エスケープは忘れてない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
主要言語にサニタイズの関数なりライブラリつけろよ (スコア:0)
自前でやるからバグが混入する
サニタイズする関数やライブラリが主要言語に標準であればいい
Re: (スコア:2)
SQLインジェクションの標準的な対策はサニタイズじゃなくてステートメント利用ですよ。
Re:主要言語にサニタイズの関数なりライブラリつけろよ (スコア:0)
20年近く前でもステートメントなんて常識に近かったのに
未だに使ってないアホな所あるの?
百歩譲って数十年前から稼働し続けてるとかならまだギリギリ理解できるが(それでも普通は対応する)
レガシーASPの時ですらやってたぞ。
今どきなら学生が作ってすら当然のように対策してるよな。
Re: (スコア:0)
修正コミット [github.com]見ると、パラメータがエスケープされるようにしましたみたいな感じだな。
まあ今だったらこなれたライブラリを使うんだが、GLPIはスタートが2003とかみたいだし
開発リソースが足りないとテコ入れ改修は難しいのかな、ライブラリは流行り廃りもあるし。
それでも普通は対応する
プロジェクトのお守りする立場だったら考えるけど、一開発者ならあんま振られたくないお仕事だなw
Re: (スコア:0)
これ、PHPのプロダクトなんですね。
PHPは知らないので調べたみたら、PHPでDB接続するには、PDO(PHP標準)を使用する様で、このPDOが実装されたのが 5.1.0(2005年リリース)だそうです。
なので、2003年のプロダクトだと非標準のライブラリを使ってるわけで、そのライブラリがステートメント対応してなければ、上記の対応でもしょうがないですね。
Re: (スコア:0)
自分はステートメント使わずにいつも文字列連結だなぁ。
エスケープは忘れてない。