如何用Sqlparam防止sql注入
SqlParam怎么用?给段小例子的代码。 --------------------编程问答-------------------- private void StoreAccountDetails( string userName,string passwordHash,
string salt )
{
// 请参见“如何在 ASP.NET 中使用 DPAPI(计算机存储)”,以了解
// 有关安全地存储连接字符串的信息。
SqlConnection conn = new SqlConnection( "Server=(local);" +
"Integrated Security=SSPI;" +
"database=UserAccounts");
SqlCommand cmd = new SqlCommand("RegisterUser", conn );
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sqlParam = null;
sqlParam = cmd.Parameters.Add("@userName", SqlDbType.VarChar, 255);
sqlParam.Value = userName;
sqlParam = cmd.Parameters.Add("@passwordHash ", SqlDbType.VarChar, 40);
sqlParam.Value = passwordHash;
sqlParam = cmd.Parameters.Add("@salt", SqlDbType.VarChar, 10);
sqlParam.Value = salt;
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch( Exception ex )
{
// 查看是否存在主键冲突(重复的帐户名)
// 或为清楚起见而省略的其他数据库错误的代码
引发一个新异常(“添加帐户时出现异常。”+ ex.Message);
}
finally
{
conn.Close();
}
}
--------------------编程问答-------------------- 原理是屏蔽掉了'=等不安全字符 --------------------编程问答-------------------- 这是调用存储过程,如果是sql语句呢? --------------------编程问答-------------------- 借花献佛,呵呵
----------------
private void StoreAccountDetails( string userName,
string passwordHash,
string salt )
{
// 请参见“如何在 ASP.NET 中使用 DPAPI(计算机存储)”,以了解
// 有关安全地存储连接字符串的信息。
SqlConnection conn = new SqlConnection( "Server=(local); " +
"Integrated Security=SSPI; " +
"database=UserAccounts ");
SqlCommand cmd = new SqlCommand( "insert into table_name (username,userpass,salt) values(@userName ,@passwordHash , @salt )", conn );
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sqlParam = null;
sqlParam = cmd.Parameters.Add( "@userName ", SqlDbType.VarChar, 255);
sqlParam.Value = userName;
sqlParam = cmd.Parameters.Add( "@passwordHash ", SqlDbType.VarChar, 40);
sqlParam.Value = passwordHash;
sqlParam = cmd.Parameters.Add( "@salt ", SqlDbType.VarChar, 10);
sqlParam.Value = salt;
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch( Exception ex )
{
// 查看是否存在主键冲突(重复的帐户名)
// 或为清楚起见而省略的其他数据库错误的代码
引发一个新异常(“添加帐户时出现异常。”+ ex.Message);
}
finally
{
conn.Close();
}
}
--------------------编程问答-------------------- www.ebookit.cn这里看下 --------------------编程问答-------------------- 书里面的网站貌似被黑了
补充:.NET技术 , ASP.NET