| /** | 
|  * Copyright (c) 2018 人人开源 All rights reserved. | 
|  * | 
|  * https://www.renren.io | 
|  * | 
|  * 版权所有,侵权必究! | 
|  */ | 
|   | 
| package com.zt.common.servlet.xss; | 
|   | 
| import org.apache.commons.lang3.StringUtils; | 
|   | 
| import com.zt.common.exception.ErrorCode; | 
| import com.zt.common.exception.RenException; | 
|   | 
| /** | 
|  * SQL过滤 | 
|  * @author Mark sunlightcs@gmail.com | 
|  */ | 
| public class SqlFilter { | 
|   | 
|     /** | 
|      * SQL注入过滤 | 
|      * @param str  待验证的字符串 | 
|      */ | 
|     public static String sqlInject(String str){ | 
|         if(StringUtils.isBlank(str)){ | 
|             return null; | 
|         } | 
|         //去掉'|"|;|\字符 | 
|         str = StringUtils.replace(str, "'", ""); | 
|         str = StringUtils.replace(str, "\"", ""); | 
|         str = StringUtils.replace(str, ";", ""); | 
|         str = StringUtils.replace(str, "\\", ""); | 
|   | 
|         //转换成小写 | 
|         str = str.toLowerCase(); | 
|   | 
|         //非法字符 | 
|         String[] keywords = {"master", "truncate", "insert", "select", "deleteLogic", "update", "declare", "alter", "drop"}; | 
|   | 
|         //判断是否包含非法字符 | 
|         for(String keyword : keywords){ | 
|             if(str.indexOf(keyword) != -1){ | 
|                 throw new RenException(ErrorCode.INVALID_SYMBOL); | 
|             } | 
|         } | 
|   | 
|         return str; | 
|     } | 
| } |