- 所属分类:网站建设知识
- 作者: 独占网络
- 更新时间: 2015-2-10 10:32:44
- 返回列表
其实网站被人攻击一般分为两次攻击方法,一种是攻击网站的服务器,一种是攻击网站的代码程序,那么攻击网站服务器这方面的我们这里就先不讲,那我们这里讲的是攻击网站代码程序,那么攻击网站代码程序的,一般都是利用网站sql操作时候的漏洞去攻击网站,那么我们这里要讲的就是怎样去防止别人通过sql的漏洞去攻击我们的网站。
其它攻击我们网站的时候,都是通过提交一些带有sql关键词的语句去攻击sql,那么我们防止这个攻击方法,我们先是建立一个Global.asax文件,这是网站的全局文件,只要是网站上面的操作都是需要先通过Global文件的,所以我们需要在Global文件里面写个过滤的方法,就是当Request方法进来的参数,我们都需要通过一个过滤事件去处理,
//判断是否有Sql注入信息
public static bool ProcessSqlStr(string inputString)
{
string SqlStr = @"and|or|script|exec|execute|insert|select|delete|update|alter|create|drop|count|\*|chr|char|asc|mid|substring|master|truncate|declare|xp_cmdshell|restore|backup|net +user|net +localgroup +administrators";
try
{
if ((inputString != null) && (inputString != String.Empty))
{
string str_Regex = @"\b(" + SqlStr + @")\b";
Regex Regex = new Regex(str_Regex, RegexOptions.IgnoreCase);
if (Regex.IsMatch(inputString))
return false;
}
}
catch
{
return false;
}
return true;
}
如果通过这个方法还是返回false那么就把这个参数给删除了。
那么接下来就是我们sql参数都是需要使用参数过滤数去使用,不能直接连接一个sql语句就使用,那么通过这种方法去处理,sql攻击一般就是对网站没有效果的。