回答

收藏

SQL防注入文本框

技术问答 技术问答 189 人阅读 | 0 人回复 | 2023-09-12

我找到了一些关于这个的教程,但它们不是我想要的。我可以在用户名字段和密码字段中使用以下内容1 M1 R9 ?* D% w
Private Sub UsernameTextBox_KeyPress(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles UsernameTextBox.KeyPress    If Char.IsDigit(e.KeyChar) OrElse Char.IsControl(e.KeyChar) OrElse Char.IsLetter(e.KeyChar) Then        e.Handled = False    Else        e.Handled = True    End IfEnd Sub但是,对于电子邮件字段,我将如何防止文本框,因为一些电子邮件账户包含句点或破折号SQL注入?
+ {- t' P8 B: e9 a8 A3 d更新:    以下是我使用的插入句的例子。( X( o  Y' {7 J& ^3 R, P
Dim con As SqlConnectioncon = New SqlConnection()Dim cmd As New SqlCommand Try  con.ConnectionString = "Data Source=" & Server & ";Initial Catalog=" & Database & ";User ID=" & User & "assword=" & Password & ";"  con.Open()  cmd.Connection = con  cmd.CommandText = "INSERT INTO TB_User(STRUserID,password,Email) VALUES('" & UsernameTextBox.Text & "','" & MD5Hash(PasswordTextBox.Text) & "','" & 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因此,我需要使用参数查询来运行它,而不是如何运行它?
9 x" ]+ f: s6 T                                                                * `" M# v' x* Q# _: ^
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则