java 防sql注入的正则表达式
时间: 2023-12-16 21:28:17 浏览: 111
以下是两个Java防止SQL注入的正则表达式:
1. 引用中的正则表达式:
```java
private static String reg = "(?:')|(?:--)|(/\\*(?:.|[\\n\\r])*?\\*/)|" + "(\\b(select|update|union|and|or|delete|insert|trancate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute)\\b)";
private static Pattern sqlPattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
private boolean isValid(String str) {
if (sqlPattern.matcher(str).find()) {
logger.error("未能通过过滤器:str=" + str);
return false;
}
return true;
}
```
2. 引用中的正则表达式:
```java
public static boolean containsSqlInjection(Object obj){
Pattern pattern= Pattern.compile("\\b(and|exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare|or)\\b|(\\*|;|\\+|'|%)");
Matcher matcher=pattern.matcher(obj.toString());
return matcher.find();
}
```
阅读全文