#region 防止sql注入式攻击(可用于UI层控制) /**/
///
/// 判断字符串中是否有SQL攻击代码
///
/// 传入用户提交数据
/// true-安全;false-有注入攻击现有;
public bool ProcessSqlStr(string inputString)
{
string SqlStr = @"1=1|0=0|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);
//string s = Regex.Match(inputString).Value;
if (true == Regex.IsMatch(inputString))
return false; }
}
catch
{ return false; }
return true;
}
#endregion
if (ProcessSqlStr(danbie.Text) == false)
{
MessageBox.Show("SQL注入攻击!已记录,请不要违规操作!", "警告:");
textbox1.Text = "";
textbox1.Focus();
}
问题描述:
将方法写在当前页面,可以直接调用,但是将方法写在另外一个类当中,再调用 就会报“错误非静态的字段、方法或属性“ERP辅助系统.classL.dfClass.ProcessSqlStr(string)”要求对象引用”。
我用using 试过了还是不行,是不是 要先将这个类 写成基类,类似DLL 再引用?请教大神帮助!
///
/// 判断字符串中是否有SQL攻击代码
///
/// 传入用户提交数据
/// true-安全;false-有注入攻击现有;
public bool ProcessSqlStr(string inputString)
{
string SqlStr = @"1=1|0=0|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);
//string s = Regex.Match(inputString).Value;
if (true == Regex.IsMatch(inputString))
return false; }
}
catch
{ return false; }
return true;
}
#endregion
if (ProcessSqlStr(danbie.Text) == false)
{
MessageBox.Show("SQL注入攻击!已记录,请不要违规操作!", "警告:");
textbox1.Text = "";
textbox1.Focus();
}
问题描述:
将方法写在当前页面,可以直接调用,但是将方法写在另外一个类当中,再调用 就会报“错误非静态的字段、方法或属性“ERP辅助系统.classL.dfClass.ProcessSqlStr(string)”要求对象引用”。
我用using 试过了还是不行,是不是 要先将这个类 写成基类,类似DLL 再引用?请教大神帮助!
yc.ProcessSqlStr或者 public static void ProcessSqlStr
clsSql cls=new clsSql();
if (cls.ProcessSqlStr(danbie.Text) == false)
...
谢谢大家!