李嘉 收藏代码 ① - ASP.NET中格式化字符串,符合SQL语句解决SQL注入问题函数收藏
作者: 李嘉 日期: 2010-06-11 01:03
SQL攻击(SQL injection),简称隐码攻击,是发生于应用程式之资料库层的安全漏洞。简而言之,是在输入的字串之中夹带SQL指令,在设计不良的程式当中忽略了检查,那么这些夹带进去的指令就会被资料库伺服器误认为是正常的SQL指令而执行,因此遭到破坏。所以我们在C#中操作SQL语句时需要注意如何来格式化SQL语句符合防注入规则,这些都在以下函数中得以体现:
#region 格式化字符串,符合SQL语句
/// <summary>
/// 格式化字符串,符合SQL语句
/// </summary>
/// <param name="formatStr">需要格式化的字符串</param>
/// <returns>字符串</returns>
public static string inSQL(string formatStr)
{
string rStr = formatStr;
if (formatStr != null && formatStr != string.Empty)
{
rStr = rStr.Replace("'", "''");
rStr = rStr.Replace(""", """");
}
return rStr;
}
/// <summary>
/// 格式化字符串,是inSQL的反向
/// </summary>
/// <param name="formatStr"></param>
/// <returns></returns>
public static string outSQL(string formatStr)
{
string rStr = formatStr;
if (rStr != null)
{
rStr = rStr.Replace("''", "'");
rStr = rStr.Replace("""", """);
}
return rStr;
}
/// <summary>
/// 查询SQL语句,删除一些SQL注入问题
/// </summary>
/// <param name="formatStr">需要格式化的字符串</param>
/// <returns></returns>
public static string querySQL(string formatStr)
{
string rStr = formatStr;
if (rStr != null && rStr != "")
{
rStr = rStr.Replace("'", "");
}
return rStr;
}
#endregion
订阅
上一篇
返回
下一篇
标签:

关于VS.NET 2008的破解方法和激活方法 (2011-03-03 09:22)
VS.NET 2010与好色鬼Colorpad冲突产生意外崩溃退出关闭的BUG缺陷漏洞 (2010-09-27 10:57)
微软ASP.NET 爆出新安全漏洞(Microsoft Security Advisory (2416728))攻击者可访问任意文件 (2010-09-19 07:47)
由VS.NET 2008不能被安装在C盘以外的其他盘说起:Dotnet开发人员环境搭建顺序经验 (2010-09-07 22:53)
在C#或ASP.NET中如何判断Click等事件是否已经被注册避免重复注册 (2010-08-02 17:35)
在C#中如何将当前日期转化为周(星期), 日期转周的函数(ASPNET也适用) (2010-07-19 13:01)
解决VS.NET使用属性框时属性框不显示的问题(winform常见问题) (2010-06-28 21:40)
多多房第二版(PHP转ASP.NET版本)网站后台管理页面DEMO (2010-06-21 22:12)
ASP.NET中如何隐藏IP地址最后一位用*号代替 (2010-06-19 04:26)