sql关键词脚本如何检查正则表达式

  介绍

这篇文章将为大家详细讲解有关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关键词脚本如何检查正则表达式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

sql关键词脚本如何检查正则表达式