java 防SQL注入正则

/**正则表达式**/
    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)";

\\b  表示 限定单词边界  比如  select 不通过   1select则是可以的
    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;
    }  
    原文作者:英俊666
    原文地址: https://blog.csdn.net/borbore/article/details/69396249
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞