大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> C# 检查字符串,防SQL注入攻击

C# 检查字符串,防SQL注入攻击

时间: 2021-07-31 作者:daque

那些天,csdn上计划sql注入报复犹如是热火朝天啊...我也来参合一下..如次,checkparams因变量,接受参数大肆,如参数中有字符串,则对字符串举行查看,如参数中有汇合(如array之类,总之是实行了icollection的),则对汇合中的字符串元素举行查看.大师可按照简直情景来定要过滤的字符,我这个例子里暂定于=号和'号,本质上我部分觉得,过滤了这两个,犹如要举行sql注入就仍旧比拟艰巨了,固然,我对sql是菜鸟,欢送能手教正,感谢.我的邮箱(msn): appledotnet@hotmail.combool checkparams(params object[] args){ string[] lawlesses={"=","'"}; if(lawlesses==null||lawlesses.length<=0)return true; //结构正则表白式,例:lawlesses是=号和'号,则正则表白式为 .*[=}'].* (正则表白式关系实质请见msdn) //其余,因为我是想做通用并且简单窜改的因变量,以是多了一步由字符数组到正则表白式,本质运用中,径直写正则表白式亦可; string str_regex=".*["; for(int i=0;i< lawlesses.length-1;i++) str_regex+=lawlesses[i]+"|"; str_regex+=lawlesses[lawlesses.length-1]+"].*"; // foreach(object arg in args) { if(arg is string)//即使是字符串,径直查看 { if(regex.matches(arg.tostring(),str_regex).count>0) return false; } else if(arg is icollection)//即使是一个汇合,则查看汇合内元素能否字符串,是字符串,就举行查看 { foreach(object obj in (icollection)arg) { if(obj is string) { if(regex.matches(obj.tostring(),str_regex).count>0) return false; } } } } return true;}

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.