黑马程序员<.net中安全处理字符串的一些方法>
2013-09-25 21:00
309 查看
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
在web项目中,安全工作必须做好,今天整理了下我最长用的一些方法,和大家分享。
1.过滤HTML中的不安全标签
2.检测是否有Sql危险字符
3.检测是否有危险的可能用于链接的字符串
4 .防止sql注入式攻击
5.MD5加密
这些方法都挺实用的,希望能帮助到大家,有什么好的意见,欢迎提出来!
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
----------------------
在web项目中,安全工作必须做好,今天整理了下我最长用的一些方法,和大家分享。
1.过滤HTML中的不安全标签
/// <summary> /// 过滤HTML中的不安全标签 /// </summary> /// <param name="content">html文本</param> /// <returns>过滤后的文本</returns> public static string RemoveUnsafeHtml(string content) { content = Regex.Replace(content, @"(\<|\s+)o([a-z]+\s?=)", "$1$2", RegexOptions.IgnoreCase); content = Regex.Replace(content, @"(script|frame|form|meta|behavior|style)([\s|:|>])+", "$1.$2", RegexOptions.IgnoreCase); return content; }
2.检测是否有Sql危险字符
/// <summary> /// 检测是否有Sql危险字符 /// </summary> /// <param name="str">要判断字符串</param> /// <returns>判断结果</returns> public static bool IsSafeSqlString(string str) { return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*||\']"); }
3.检测是否有危险的可能用于链接的字符串
/// <summary> /// 检测是否有危险的可能用于链接的字符串 /// </summary> /// <param name="str">要判断字符串</param> /// <returns>判断结果</returns> public static bool IsSafeUserInfoString(string str) { return !Regex.IsMatch(str, @"^\s*$|^c:\\con\\con$|[%,\*" + "\"" + @"\s\t\<\>\&]|游客|^Guest"); }
4 .防止sql注入式攻击
/// 判断字符串中是否有SQL攻击代码 /// true-安全;false-有注入攻击现有; public static bool ProcessSqlStr(string inputString) { string SqlStr = @"and|or|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 (true == regex.IsMatch(inputString)) return false; } } catch { return false; } return true; }
5.MD5加密
/// <summary> /// MD5加密字符串 /// </summary> /// <param name="str">要加密的字符串</param> /// <returns>加密字符串</returns> public static string GetMD5(string str) { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5"); }
这些方法都挺实用的,希望能帮助到大家,有什么好的意见,欢迎提出来!
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
相关文章推荐
- <NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法
- C#中字符串处理的一些自定义方法
- <PHP>字符串处理代码
- 字符串数组的一些处理方法总结
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- <2012 12 17> C标准库中一些字符串操作函数的实现
- JS一些常用的处理字符串的方法
- 在多行列表中id同名的<a>标签点击事件处理方法
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- asp.net页面间传值的几种方法 表单提交 传送页面代码 复制代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server
- ASP.NET中字符串处理的几个方法
- C#中字符串处理的一些自定义方法
- shell 处理字符串常用方法http://www.blogjava.net/xzclog/archive/2011/03/04/345745.html
- asp.net中防SQL注入的字符串处理办法以及重要信息MD5加密方法
- cpp如何快速安全地将文件读入字符串string或字符数组vector<string>的方法
- Asp.net MVC 对所有用户输入的字符串字段做Trim处理的方法
- [转贴]字符串数组的一些处理方法总结