当前位置: 首页 > 编程语言 > C#

插入分享时防止SQL注入

时间:2023-04-10 23:16:17 C#

插入分享时防止SQL注入我正在寻找一些防止SQL注入的技巧。我在论坛上被告知我的代码不安全,我正在寻找足够好的人来帮助我解决这个问题。我有一个网络表单,提交后它会转到aspx.cs页面并将数据插入mssql数据库。protectedvoidSubmit_Click(objectsender,EventArgse){stringFullStartTime=StartTimeHourList.SelectedValue+":"+StartTimeMinuteList.SelectedValue+""+StartTimeAMList.SelectedValue;stringFullEndTime=EndTimeHourList.SelectedValue+":"+EndTimeMinuteList.SelectedValue+""+EndTimeAMList.SelectedValue;OleDbConnection连接;OleDb命令命令;conn=newSystem.Data.OleDb.OleDbConnection("");cmd=newSystem.Data.OleDb.OleDbCommand();conn.Open();cmd.Connection=conn;varsql=String.Format(@"INSERTINTOFormTable1(Nonprofit,Contact,Phone,Email,Event,StartDate,EndDate,StartTime,EndTime,Place,Comments,SubmitDate)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')",NonprofitTxtBox.Text,ContactTxtBox.Text,PhoneTxtBox.Text,EmailTxtBox.Text,EventTxtBox.Text,StartDateTxtBox.Text,EndDateTxtBox.Text,FullStartTime,FullEndTime,PlaceTxtBox.Text,CommentsTxtBox.Text,DateTime.Now);厘米d.CommandText=sql;cmd.ExecuteNonQuery();conn.Close();最简单的解决方法是简单地不通过将字符串连接在一起来构建sql,但如果您使用的是SqlCommand,则使用参数,然后您可以执行以下操作,否则请遵循@MarcB的建议。以上就是C#学习教程:插入所有分享内容时防止SQL注入。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注—SqlCommandcmd=newSqlCommand("INSERTdbo.Table(field1,field2,field3)VALUES(@f1,@f2,@f3)",连接);cmd.Paramters.Add("@f1",SqlDbType.VarChar,50).Value="abc";cmd.Paramters.Add("@f2",SqlDbType.Int).Value=2;cmd.Paramters.Add("@f3",SqlDbType.VarChar,50).Value="其他值";本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: