#region SQL注入过滤
/// <summary>
/// SQL注入过滤
/// </summary>
/// <param name="InText">要过滤的字符串</param>
/// <returns>如果参数存在不安全字符,则返回false</returns>
public static bool SqlFilter(string sqlParems)
{
if (sqlParems == null || sqlParems == "") return false;
string sql = "'|;|--|=|select|*|and|exec|insert|delete|update|chr|or|join";
foreach (string i in sql.Split('|'))
{
if (sqlParems.Trim().IndexOf(i) >= 0)
{
return false;
}
}
return true;
}
#endregion
个人认为,这个方法是最直接也是最方便的防SQL注入的办法 !
当然,
这也只能在一定程度上防止SQL参数注入、URL注入等肤浅的SQL注入了 !
备注:需要新添加屏蔽的关键字符,或者字符转的话,可以直接在变量SQL后面添加(遵循用“|”隔开的规范就行)。然后在调用数据 库方法时,先对传入的参数进行SQL注入校验就行 !