【发布时间】:2011-07-16 00:22:07
【问题描述】:
我读了一些关于 SQL 注入的文章,我想确保我的代码可以说是“安全的”,我计划使用 RegExp 验证器来检查用户输入,但这里的另一篇文章建议只使用参数化查询,好吧,我正在使用它们,但我想确保我的代码是安全的,是吗?
using ( SqlConnection dataConnection = new SqlConnection(myConnectionString) )
{
using ( SqlCommand dataCommand = dataConnection.CreateCommand() )
{
dataCommand.CommandText = "INSERT INTO Lines (Name, CreationTime) " +
"VALUES (@LineName, @CurrentDateTime)";
dataCommand.Parameters.AddWithValue("@LineName", TextBox2.Text);
dataCommand.Parameters.AddWithValue("@CurrentDateTime", DateTime.Now.ToString());
dataConnection.Open();
//do other DB stuff
我剪掉最后一部分以使帖子更短,其余部分只是尝试捕获异常并关闭数据库连接以及向用户提供插入成功的反馈。
【问题讨论】:
-
如果
CreationTime列的类型为DateTime,则不需要.ToString()强制转换。
标签: c# .net asp.net sql sql-injection