写一个方法过滤,例如
//过滤特殊字符串
public static string FiltrateWord(string str)
{
str = str.Replace("&", "&");
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("'", "‘");
str = str.Replace("*", "×");
//str = str.Replace("\n", " ");
//str = str.Replace("\r\n", " ");
str = str.Replace("?", "?");
str = str.Replace("select", " ");
str = str.Replace("insert", " ");
str = str.Replace("update", " ");
str = str.Replace("delete", " ");
str = str.Replace("create", " ");
str = str.Replace("drop", " ");
str = str.Replace("delcare", " ");
str = str.Replace("^", " ");
str = str.Replace("%", " %");
str = str.Replace("+", "+");
str = str.Replace("-", "-");
str = str.Replace("exec", " ");
str = str.Replace(":", ":");
str = str.Replace(";", ";");
return str;
}
//过滤特殊字符串
public static string FiltrateWord(string str)
{
str = str.Replace("&", "&");
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("'", "‘");
str = str.Replace("*", "×");
//str = str.Replace("\n", " ");
//str = str.Replace("\r\n", " ");
str = str.Replace("?", "?");
str = str.Replace("select", " ");
str = str.Replace("insert", " ");
str = str.Replace("update", " ");
str = str.Replace("delete", " ");
str = str.Replace("create", " ");
str = str.Replace("drop", " ");
str = str.Replace("delcare", " ");
str = str.Replace("^", " ");
str = str.Replace("%", " %");
str = str.Replace("+", "+");
str = str.Replace("-", "-");
str = str.Replace("exec", " ");
str = str.Replace(":", ":");
str = str.Replace(";", ";");
return str;
}
我还没见过通过用户名和密码来攻击的,呵呵
如果是跨站脚本攻击并且文本框中的字符是不支持html的,那进行HtmlEncode是最简单有效的防范措施。
可以到微软网站上搜索一下安全的相关内容。
VS2005就报错 显示发现危险性代码 程序停止 难道VS2005本身能够 检测 脚本攻击??
2.可以先通过对用户名查询出这条数据,得到Dararow
然后再Datarow中取密码进行比较
2\参数化
3\限制textbox的输入长度