使用参数,而不是串联的好处 [英] Benefits of use parameters instead of concatenation

查看:120
本文介绍了使用参数,而不是串联的好处的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新来ASP.NET和C#编程。

I am new to ASP.NET and C# programming.

我想知道有什么区别和优势加上使用的参数,而不是在SQL语句中串联的缺点,因为我听说,这是prevent SQL注入更好的方法(?)

I would like to know what is the difference and advantages plus disadvantages of using parameters instead of concatenation in SQL statements, as I heard that it is a better way to prevent SQL injection(?)

下面是我从使用连接来改变参数样本INSERT语句:

Below are sample INSERT statements which I have changed from using concatenation to parameters:

串联:

string sql = string.Format("INSERT INTO [UserData] (Username, Password, ...) VALUES ('" + usernameTB.Text + "', '" + pwTB.Text + "',...);

参数:

cmd.CommandText = "INSERT INTO [UserData] (Username, Password, ...) VALUES (@Username, @Password, ...)";

cmd.Parameters.AddWithValue("Username", usernameTB.Text);
cmd.Parameters.AddWithValue("Password", pwTB.Text);

感谢您事先提供的任何知识。

Thank you in advance for any knowledge provided.

推荐答案

串联是远远超过使用参数的脆弱。

Concatenation is much more vulnerable than using parameters.

看看这里:的http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html

这篇关于使用参数,而不是串联的好处的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆