まず、ストアドプロシージャを使用してクエリを再利用し、エスケープ処理を行うようにします。しかし、私は多くの開発者がmysqli_real_escape_string
はSQLインジェクションを100%防ぐことはできないと言っています。誰かがこれの例を提供してもらえますか?私はmysqli_real_escape_string
が常に文字列のためではなく、あなたが番号を確認しない限り見破らすることができ、数値の罰金だろうと言う主題に関する私の限られた知識からmysqli_real_escape_stringがSQLインジェクションを防止できないのはなぜですか?
はint型、float型、ダブル、など
です編集:重要なものを追加するのを忘れてしまった:文字セットがUTF8で、mysqli_set_charsetがそれに応じて呼び出されたと仮定します。私が見た唯一の注入は、少数の文字セットに依存しています(どれもUTF8ではありません)。
[周りmysql_real_escape_stringの取得したSQLインジェクション()]( http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) –
リンクの+1、JW。 –
リンクの回答は私の好みにあまりにも派手です。 –