2011-06-29 12 views
3

私は現在、httpイベントを処理するためにC言語を使用しています.SQL操作を行う必要があります.SQLインジェクションを防ぐには、そこにCライブラリがありますか?ありがとうございます。SQLインジェクションをC言語で防ぐ方法は?

+4

ようこそスタックオーバーフロー!あなたの疑問に答えて正しい答えを "受け入れる"ことを忘れないでください。さもなければ、人々はあなたに答えを提供し続けることを嫌にされるでしょう。 –

+0

8質問:0選択された回答:1時間の無駄---感謝の後に疑問符があるのはなぜですか? – vol7ron

+1

どのように*現在* MySQLに接続していますか*そのライブラリ*パラメータ化されたクエリ*をサポートしていますか? (セキュリティを強化するための1つの巨大な方法*は、Scala、Ruby、Python、C#、Javaなどの言語を使用することです - バッファオーバーフローの悪用[または事故]を心配する必要はありません;-) –

答えて

2

あなたはSQLインジェクション防ぐ方法(またはシェルエスケープ注入を、など)は特別として一部の文字を扱うインタフェースに引用符で囲まれていないリテラル文字列を渡していません。あなたは、SQLデータベース、シェル、外部コマンド、URI文字列を取るAPIなどで解釈されるより大きい「コマンド文字列」の一部として文字列データを安全な引用形式に変換する必要があります。

+0

より具体的には、独自のSQLエスケープルーチンを記述しないでください。 mysql_real_escape_string()を使用してください。 http://stackoverflow.com/questions/7839734/efficiently-escaping-quotes-in-c-before-passing-to-mysql-query/7840304#7840304 – BraveNewCurrency

3
+1

おもしろい読書。しかし、回答にもっと多くを加えた後、ちょうどリンクを追加することを検討してください - 単純な引用、要約、または経験を除いて、答えがはるかに良くなります。今のように、コメントだけでもいいかもしれません。また、C固有のmysqlバインディングのための任意のもの? –

関連する問題