パラメータを使用したユーザー入力で SQL データベースを安全に更新する方法
ユーザー入力から SQL データベースを更新する場合、SQL インジェクション攻撃を防ぐことが重要ですパラメーターを使用して。次の VB コードを考えてみましょう:
dbConn = New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP") dbConn.Open() MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = '" & TicBoxText.Text & _ "'WHERE Number = 1", dbConn) MyDataReader = MyCommand.ExecuteReader() MyDataReader.Close() dbConn.Close()
ユーザー入力に一重引用符や二重引用符などの特殊文字が含まれている場合、コードは失敗します。この問題に対処するには、パラメーターを使用できます。
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = @TicBoxText WHERE Number = 1", dbConn) MyCommand.Parameters.AddWithValue("@TicBoxText", TicBoxText.Text)
名前付きパラメーター (@TicBoxText) は、SQL の変数に似ています。値は、AddWithValue を使用して VB.NET プログラムで指定されます。これにより、SQL コマンドが自己完結型となり、ユーザーの入力操作から保護されるようになります。値を指定すると、MyDataReader はコマンドを安全に実行できます。
パラメータを使用することで、SQL インジェクション攻撃を防ぎ、データベースの整合性を維持できます。
以上がSQL インジェクションを防ぐために、ユーザー入力を使用して SQL データベースを安全に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。