用Filter.Expression进行Sql注入?

时间:2015-11-17 09:34:10

标签: c# asp.net objectdatasource

我正在我的GridView中过滤一些数据:

protected void Button1_Click(object sender, EventArgs e)
{

    if (DropDownList1.SelectedValue.ToString() == "Name")
    {

        ObjectDataSource1.FilterExpression = "Name LIKE '%" + TextBox1.Text + "%' ";

    }

    else if (DropDownList1.SelectedValue.ToString() == "Title")
    {

        ObjectDataSource1.FilterExpression = "Title LIKE '%" + TextBox1.Text + "%' ";

    }

数据最初是从后面代码中的DataTable中提取的。现在我已经阅读了很多关于Sql Injection的内容,但我只是想知道这是ObjectDataSource.FilterExpression的问题吗?据我所知,它应该只是寻找第二个意见来确认?

1 个答案:

答案 0 :(得分:0)

您肯定要接受FilterExpression注入,因为您没有清理用户输入。现在,注入的后果/影响取决于您的系统和存储的值的类型。

有关FilterExpression注入的更多信息,请阅读此白皮书:

https://www.mbsd.jp/Whitepaper/FilterExpression.pdf