介绍
这篇文章将为大家详细讲解有关sql关键词脚本如何检查正则表达式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
sql拼装过程中有时候需要把特殊外部的参数拼装到sql语句中去,若不检测外部传入的参数是否含有sql关键词,黑客利用系统这个漏洞注入sql脚本语句进行数据库删除或盗取数据资料。
<强> sql关键词脚本检查正则表达式强>
\ b(|执行| | | |下降格兰特选择插入|修改|删除| | |更新计数所对应主| |中|截断|字符| |声明或)\ b | (\ * |; | \ + | & # 39; | %)
Java语言
/* * ,*是否含有sql注入,返回真正的表示含有 ,* @param obj ,* @return ,*/public static  boolean containsSqlInjection (Object obj) { Pattern 才能;模式=,Pattern.compile (“\ \ b(|执行| | | |下降格兰特选择插入|修改|删除| | |更新计数所对应主| |中|截断|字符| |声明或)\ \ b | (\ \ * |; | \ \ + | & # 39; | %)“); Matcher 才能;匹配器=pattern.matcher (obj.toString ()); return 才能matcher.find (); }
单元测试
@Test public void  testContainsSqlInjection () { boolean 才能;b1=SqlUtils.containsSqlInjection(“以及纳米=1“); ,,assertequal (“b1不为true",真的,b1); boolean 才能;b2=SqlUtils.containsSqlInjection (“niamsh  delete 得到“); ,,assertequal (“b2不为true",真的,b2); boolean 才能;b3=SqlUtils.containsSqlInjection (“stand"); ,,assertequal (“b3不为false",假,b3); boolean 才能;b4=SqlUtils.containsSqlInjection(“这样); ,,assertequal (“b4不为true",真的,b4); boolean 才能;b5=SqlUtils.containsSqlInjection (“niasdm % asjdj"); ,,assertequal (“b5不为true",真的,b5); }
关于“sql关键词脚本如何检查正则表达式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。