asp.net - 这种基于 LINQ 的搜索是否可以安全抵御 SQL 注入(inject)/XSS 攻击?

标签 asp.net sql linq security code-injection

请参阅以下数据库搜索教程并建议搜索方法是否安全,特别是因为它从文本框获取输入。

http://net.tutsplus.com/tutorials/asp-net/enabling-search-functionality-in-your-site-using-the-new-features-in-aspnet-35/

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  

最佳答案

是的,这很安全。除非您自己创建 SQL,否则您不会面临使用 LINQ 的 SQL 注入(inject)攻击的风险,例如,如果您使用 ExecuteQuery .

关于asp.net - 这种基于 LINQ 的搜索是否可以安全抵御 SQL 注入(inject)/XSS 攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645817/

相关文章:

c# - ASP.NET 动态控件计数(随手创建控件)

mysql - 在 mysql 连接中使用 WHERE

Mysql正则表达式排除非单词字符

Linq 到 NHibernate 多个 OrderBy 调用

c# - 有没有办法在 where 子句中访问私有(private)属性(property)?

c# - LINQ TO SQL 中的查询未插入

asp.net - 如何实现安全的下载系统?

c# - Microsoft.SqlServer.Types : Error loading msvcr120. dll(错误代码:5)

asp.net - 将附加用户信息添加到 asp.net 中的 aspnetuser 表

mysql - 排除某行数据的SQL语句