Java正则表达式防注入小例子

 1 /**
 2      * 第一行匹配特殊字符;
 3      * 第二行匹配开头和结尾都有空格的;
 4      * 第三行匹配结尾有空格的
 5      * */
 6     private Boolean DetermineChar(String reqData, String respData) {
 7         String reg = "@@|==|--|!|\\!|"
 8                 + "\\s(union|and|or|where|exec|like|from|trancate|char|substr|ascii|count|into)\\s|"+
 9                 "\\b(select|update|delete|insert|trancate|char|alter|substr|ascii|declare|exec|drop)\\s";
10         Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);//不区分大小写
11
12         if (pattern.matcher(reqData).find() || pattern.matcher(respData).find())
13             return true;
14         return false;
15     }

代码如上

时间: 2024-10-10 16:12:14

Java正则表达式防注入小例子的相关文章

JAVA 正则表达式截取字符串小例子

例如:从如下字符串 营业时间: 11:30-21:30 修改 分类标签: 无线上网(8) 可以刷卡(7) 朋友聚餐(5) 家庭聚会(5) 商务宴请(4) 情侣约会(4) 可自带酒水(2) 中获取: 11:30-21:30 两个数字:两数字-两个数字:两个数字 因此 正则表达式:\\d{2}:\\d{2}-\\d{2}:\\d{2} 具体代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

Java网络连接测试小例子

花了两个小时时间去看书写例子,遇到不少蛋疼的问题,把例子贴出来,以免忘记 服务器端: import java.io.*; import java.net.*; public class mYServer { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; OutputStream os = null; InputStream is = null; //

SQL预编译防注入小测试

个人对SQL预编译的认识: 1.效率提升,对SQL语句编译一次可多次使用.避免了硬解析和软解析等步骤,当执行的语句上规模的时候性能差异还是很明显的. 2.安全提升,预编译之后的SQL语句,语义不会发生变化,安全性有相当大的提升. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; n

java全排列算法实现 --- 小例子实现

Question:猜算式 看下面的算式: □□ x □□ = □□ x □□□ 它表示:两个两位数相乘等于一个两位数乘以一个三位数. 如果没有限定条件,这样的例子很多. 但目前的限定是:这9个方块,表示1~9的9个数字,不包含0. 该算式中1至9的每个数字出现且只出现一次! 比如: 46 x 79 = 23 x 158 54 x 69 = 27 x 138 54 x 93 = 27 x 186 ..... 请编程,输出所有可能的情况! 注意: 左边的两个乘数交换算同一方案,不要重复输出! 不同方

java数组使用的小例子

1 public class HelloWorld { 2 3 public static void main(String[] args) { 4 5 // 定义一个整型数组,并赋初值 6 int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 }; 7 8 int max = nums[0]; // 假定最大值为数组中的第一个元素 9 int min = nums[0]; // 假定最小值为数组中的第一个元素 10 double sum = 0

java即时通信小例子

学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是在服务上开启一个线程循环等待客户端的连接,为每一个连接到服务器的Socket 创建一个实例存放在集合中,然后使用InputSteam读取从客户端发过来的数据然后转发给除自己之外的所有的客户端 然后是客户端,首先开启一个线程连接都服务器端,循环监听服务器发送回来的数据 这里要说一下为了明确是谁发出的消

java操作xml的一个小例子

最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要定义好bean的层次结构就可以了,第三方包会自动生成和解析xml. 但是今天发现,这个包有两个问题: 一个是比较复杂(我是菜鸟,求别喷,我真的觉得他挺复杂的..).比如说你要想处理既有属性又有值的xml就比较麻烦.(@XStreamConverter注解这种方法报这个错:com.thoughtwor

java连接mysql的一个小例子

想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一个小例子数据库如下如 代码 package query; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; impor

Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See