栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL防注入文本框

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL防注入文本框

与其从用户输入中过滤掉“无效”数据,不如考虑使用参数化查询,而不是将用户输入直接输入到您的查询中。那是非常糟糕的形式。

要使用参数运行当前查询,非常简单:

Dim con As New SqlConnection()Dim cmd As New SqlCommand()Try    con.ConnectionString = "Data Source=" & Server & ";Initial Catalog=" & Database & ";User ID=" & User & ";Password=" & Password & ";"    con.Open()    cmd.Connection = con    cmd.CommandText = "INSERT INTO TB_User(STRUserID, password, Email) VALUES(@username, @password, @email)"    cmd.Parameters.Add("@username", SqlDbType.VarChar, 50).Value = UsernameTextBox.Text    cmd.Parameters.Add("@password", SqlDbType.Char, 32).Value = MD5Hash(PasswordTextBox.Text)    cmd.Parameters.Add("@email", SqlDbType.VarChar, 50).Value = EmailTextBox.Text    cmd.ExecuteNonQuery()Catch ex As Exception    MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")Finally    con.Close()End Try

您所要做的就是使用

cmd.Parameters.Add
参数名称和正确的数据库类型(我猜想可能不匹配的数据库类型,因此您需要更改它们),然后将值设置为要在数据库中使用的值。询问。参数名称以开头
@



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号