城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

c。net全站防止SQL注入类的代码

11月3日 菩提门投稿
  c。net全站防止SQL注入类的代码,需要的朋友可以参考一下
  闲言碎语先不谈,上代码,
  我这个是在Web项目,首先先创建SqlChecker类,用于校验前端传到后台所有请求中的过滤
  usingSusingSystem。Collections。GusingSystem。LusingSystem。WnamespaceWeb{publicclassSqlChecker{当前请求对象privateHttpR当前响应对象privateHttpR安全Url,当出现Sql注入时,将导向到的安全页面,如果没赋值,则停留在当前页面privatestringsafeUrlString。ESql注入时,可能出现的sql关键字,可根据自己的实际情况进行初始化,每个关键字由分隔开来privateconststringStrKeyWordselectinsertdeletefromcount(droptableupdatetruncateasc(mid(char(xpcmdshellexecmasternetlocalgroupadministrators:privateconststringStrKeyWordselectinsertdeletefromdroptableupdatetruncateexecmasternetlocalgroupadministrators:Sql注入时,可能出现的特殊符号,,可根据自己的实际情况进行初始化,每个符号由分隔开来privateconststringStrR,()〔〕}{!;privateconststringStrRegex!;publicSqlChecker(){TODO:在此处添加构造函数逻辑}summary由此构造函数创建的对象,在验证Sql注入之后将停留在原来页面上summaryparamnamerequest当前请求的Request对象paramparamnameresponse当前请求的Response对象parampublicSqlChecker(HttpRequestrequest,HttpResponseresponse){this。this。}summary由此构造函数创建的对象,在验证Sql注入之后将请求将导向由safeUrl指定的安全url页面上summaryparamnamerequest当前请求的Request对象paramparamnameresponse当前请求的Response对象paramparamnamesafeUrl验证Sql注入之后将导向的安全urlparampublicSqlChecker(HttpRequestrequest,HttpResponseresponse,stringsafeUrl){this。this。this。safeUrlsafeU}summary只读属性SQL关键字summarypublicstringKeyWord{get{returnStrKeyW}}summary只读属性过滤特殊字符summarypublicstringRegexString{get{returnStrR}}summary当出现Sql注入时需要提示的错误信息(主要是运行一些客户端的脚本)summarypublicstringMsg{get{}}summary检查URL参数中是否带有SQL注入的可能关键字。summaryreturns存在SQL注入关键字时返回true,否则返回falsereturnspublicboolCheckRequestQuery(){if(request。QueryString。Count!0){若URL中参数存在,则逐个检验参数。foreach(stringqueryNameinthis。request。QueryString){过虑一些特殊的请求状态值,主要是一些有关页面视图状态的参数if(queryNameVIEWSTATEqueryNameEVENTVALIDATION)开始检查请求参数值是否合法if(CheckKeyWord(request。QueryString〔queryName〕)){只要存在一个可能出现Sql注入的参数,则直接退出}}}}summary检查提交表单中是否存在SQL注入的可能关键字summaryreturns存在SQL注入关键字时返回true,否则返回falsereturnspublicboolCheckRequestForm(){if(request。Form。Count0){若获取提交的表单项个数不为0,则逐个比较参数foreach(stringqueryNameinthis。request。Form){过虑一些特殊的请求状态值,主要是一些有关页面视图状态的参数if(queryNameVIEWSTATEqueryNameEVENTVALIDATION)开始检查提交的表单参数值是否合法if(CheckKeyWord(request。Form〔queryName〕)){只要存在一个可能出现Sql注入的参数,则直接退出}}}}summary检查sword是否包涵SQL关键字summaryparamnamesWord需要检查的字符串paramreturns存在SQL注入关键字时返回true,否则返回falsereturnspublicboolCheckKeyWord(stringsWord){模式1:对应Sql注入的可能关键字string〔〕patten1StrKeyWord。Split();模式2:对应Sql注入的可能特殊符号string〔〕patten2StrRegex。Split();开始检查模式1:Sql注入的可能关键字的注入情况foreach(stringsqlKeyinpatten1){if(sWord。IndexOf(sqlKey)0sWord。IndexOf(sqlKey)0){只要存在一个可能出现Sql注入的参数,则直接退出}}开始检查模式1:Sql注入的可能特殊符号的注入情况foreach(stringsqlKeyinpatten2){if(sWord。IndexOf(sqlKey)0){只要存在一个可能出现Sql注入的参数,则直接退出}}}summary执行Sql注入验证summarypublicvoidCheck(){if(CheckRequestQuery()CheckRequestForm()){response。Write(Msg);response。End();}}}}
  创建好SqlChecker后,就要考虑在那个地方使用。下面说全局性设置使用:
  在Global。asax。cs中找到ApplicationBeginRequest,如果找不到Global。asax也可CtrlF进行搜索,
  范围可以选择【整个解决方案】点击进行查找。
  具体代码如下:
  protectedvoidApplicationBeginRequest(objectsender,EventArgse){SqlCheckerSqlCheckernewSqlChecker(this。Request,this。Response);或SqlCheckerSqlCheckernewSqlChecker(this。Request,this。Response,safeUrl);SqlChecker。Check();}
  局部性设置使用,在具体的Colltroller的方法里加入:SqlCheckerSqlCheckernewSqlChecker(this。Request,this。Response);或SqlCheckerSqlCheckernewSqlChecker(this。Request,this。Response,safeUrl);SqlChecker。Check();
  以上就是C。net防止SQL注入的代码,如果有些关键字和特殊符号不想加在过滤中可以自定义SqlChecker类的StrKeyWord变量和StrRegex变量
投诉 评论 转载

马云的傻银行,出事了作者:张生来源:鸣金网蚂蚁连遭劫难,原来只是开始。马云的麻烦,还远没有到头!一hr2022年互联网银行第一炸,还是轮到了马云头上!2月8日,据央行……看了下面的内容只想支持国现在都2022年了,想买一款国产旗舰机还是很难,不是选择太多,而是几乎没有可选项。以前有华为,有P系列和mate系列,有保时捷款,但华为被沉重打击之后,一度以为其他国产品牌能够……学会四种模型,掌握基于模型驱动的需求分析过程软件需求分析,不能只停留在文本上面。如果你拿着洋洋几千几万字的需求文档去和用户、开发人员讨论需求,大家都会觉得非常累,而且效果也不好。因为文字有歧义,同一个词语不同……阿里巴巴成立反职场陋习小组,无条件支持员工拒绝劝酒据钱江晚报消息,8月12日,阿里巴巴集团公布了推动反性骚扰的机制化工作进展。据了解,这项内部全员公告包括四方面的行动。在强化组织保障方面,阿里巴巴集团成立工作环境委……隐私计算能成为数据领域的救世主嘛?前言:在数据领域,安全和发展一直是两大主题。对企业来说,这两个主题一直是矛盾的。一方面出于商业需求的考量,需要数据的流通来发挥数据的价值。另一方面出于合规的要求,需要采取……618手机选择指南这5款手机性价比比较高时间来到6月份,意味着今年上半年已经进入尾声,而各家手机厂商在上半年的旗舰产品基本都发布完毕。目前就剩下华为P50系列了,如果这个月不能发布的话,那就还会接着延期。而当下正处于……c。net全站防止SQL注入类的代码c。net全站防止SQL注入类的代码,需要的朋友可以参考一下闲言碎语先不谈,上代码,我这个是在Web项目,首先先创建SqlChecker类,用于校验前端传到后台所有……干货关于元宇宙应该了解什么?你想知道的都在这里如何探索地球科学奥秘?人类能否到达元宇宙世界?1月15日,北京时间联合北京航天宏图信息技术股份有限公司推出《畅聊元宇宙,探索地球科学》沙龙活动。业界学者和企业代表从遥感卫……高级玩家必备,铠侠EXCERIAPROPCIe4。0固态硬盘在这个多媒体盛行的时代里,人们也对存储性能要求越来越强,我在视频剪辑和图片处理上,对存储设备的性能也有一定的要求,为了能有个大容量高速读写的硬盘,近日入手了铠侠EXCERIAP……报道称华为等中国公司或面临干预对俄制裁的风险,外交部回应澎湃新闻记者于潇清刘惠4月1日,外交部发言人赵立坚主持例行记者会。有记者提问,有报道称中国通信公司如华为如果继续运输通讯设备给俄罗斯将面临干预对俄制裁的风险,中方对此有何……狗狗币太疯狂,小心被咬!立方快评徐兵起源于一句玩笑的狗狗币,如今开了个大玩笑。其币值接连飙升的消息再次冲上微博热搜。关于狗狗币能不能买的讨论也就此展开。先说说啥叫狗狗币。类似于比特币一样,它是一款……任正非对话科学家谈科技创新,回应了这15个问题中国青年报作为研究前沿科技的科学家,将来有两条道路选择:一条是走科学家的道路,做科学无尽前沿的理论研究,在公司的愿景和假设方向上创造新的知识;一条是走专家的道路,拿着手术……
佳能28702。8L和适马17502。8哪个好?最近网络舆论大面积喷著名企业,不正常吧?五菱又出了一款微型电动车!全新五菱AirEV实拍图曝光华为P30定价曝光3888元起步真吉利啊!12月16日(周四)股市消息个股资讯破发,iPhone13的价格彻底崩了特斯拉又出新发明,用激光代替雨刷,人脸会受到伤害吗?芯讯通5G模组助力广电700M行业落地潜力无限千金难买龙回头,把握好元宇宙龙头回调后的上车机会海思麒麟芯片终于跌价了,现在入手正合适鸿蒙系统初长成,正式拒绝谷歌GMS,华为硬气老婆想买个上下班代步车,纠结于奕跑的颜值,飞度和致炫的油耗,
激烈的乒乓球比赛电话售楼技巧和话术BorntoRun读后感1000字明墓出土玉圭初步研究刘备的性格特点是什么罗贯中竟在三国演义中偏袒刘备风雪中的背影友谊的颜色【歌词】紫色雨歌手:李秀英热文聚热点网 财产清查的一般程序包括什么?感悟至深的哲理励志故事血糖高的人请注意身体二处变肿,二处变冷,警惕糖尿病并发症DSR分数降低我们该怎么办?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁