基本的に、安全でないデータ(ユーザー入力、データベース、ファイル、または外部Webサイトからの値、つまり、100%ではないデータ)を使用するたびに 安全であることを確認してください)SQLクエリでは、 mysql_real_escape_string 。 OWASPによる ことに注意してください。 、この関数は動的テーブル名をエスケープするために安全ではありません(ただし、これは「基本的な」ユーザー入力挿入よりもはるかに一般的ではありません)。
SQLインジェクションに関するOWASPの記事 全体をご覧になることをお勧めします。 、およびWebサイトの残りの部分を閲覧することもできます。これは、Webアプリケーションのセキュリティに関する優れた情報源です。
IMO、SQLインジェクションを防ぐための推奨される方法は、準備されたステートメント 。
mysql_real_escape_string()
を使用することを選択した場合は覚えておいてください 引用符で区切られた文字列内で使用された場合にのみ機能します。引用符で囲まれていない値には絶対に使用しないでください。これには数値が含まれます。代わりに、ユーザー入力が実際に数値であることを検証してください。