在我们的数据库访问层中,我们创建了一些动态查询。例如,我们有以下方法来构建ORDER BY
子句的一部分:
protected string BuildSortString(string sortColumn, string sortDirection, string defaultColumn)
{
if (String.IsNullOrEmpty(sortColumn))
{
return defaultColumn;
}
return String.Format("{0} {1}", sortColumn, sortDirection);
}
问题是,sortColumn
两者sortDirection
都作为字符串来自外部,所以当然应该采取一些措施来防止可能的注入攻击。有谁知道如何做到这一点?