请参考以下数据库搜索教程,并告知搜索方法是否安全,特别是因为它从文本框中获取输入。
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
答案 0 :(得分:5)
是的,那是安全的。除非您自己创建SQL,否则您不会受到使用LINQ的SQL注入攻击的风险,例如,如果您使用ExecuteQuery
。
答案 1 :(得分:1)
在这种情况下你很安全。您必须使用LINQ to SQL来启用SQL注入。见http://www.thinqlinq.com/Post.aspx/Title/Does-LINQ-to-SQL-eliminate-the-possibility-of-SQL-Injection