文档章节

sql 语句的关键词统一过滤处理

淡泊
 淡泊
发布于 2016/07/09 14:33
字数 191
阅读 5
收藏 0

 在运行关键词转换的时候,都需要做一些处理,这边实现一个简单的替换多个关键词方法。

下面是直接可以使用的原代码
 public static final String[] KEYWORDS=new String[]{"timestamp","time"};
 
    public static String  toWhereSql(String whereSql) {
        if(StringUtils.isBlank(whereSql)){
            return whereSql;
        }
        String fwhereSql=  whereSql;
        for(String keyword:KEYWORDS){
            fwhereSql = indexExist(  fwhereSql,  keyword);
        }
        return fwhereSql;
    }
    
    
     
    public static String indexExist(String whereSql,String keyword) {
       int index =whereSql.indexOf(keyword);
       if(index!=-1){
              String str1 = whereSql.substring(0,index) ;
              String str2= whereSql.substring(index+keyword.length()) ;
              if((str1.endsWith(" ")||str1.endsWith("(")&&(str2.startsWith(" ")||str2.startsWith(")")))){
                  String fstr2=indexExist(str2,keyword);
                  String str3= str1+ "\""+keyword+"\""+fstr2; 
                  return str3;
              }else{
                  String fstr2=indexExist(str2,keyword);
                  return str1+keyword+fstr2;
              }
       } 
       return whereSql;
    }

© 著作权归作者所有

共有 人打赏支持
淡泊
粉丝 0
博文 3
码字总数 725
作品 0
厦门
后端工程师
CloudDBA新功能上线--SQL过滤/限制/防火墙

前言 CloudDBA是阿里云数据库团队开发的智能诊断和优化平台,可以帮助用户更好使用阿里云数据库。 CloudDBA不断提升算法和规则,更好的匹配更多用户场景,刚刚上线了SQL过滤功能,用来解决某...

我是凌洛
07/19
0
0
oos 0.2.1 发布, C++ 的 ORM 框架

oos 0.2.1 发布,这是个 bug 修复版本,修复了 Ubuntu 13.10 的构建问题;移除了不必要的代码;改进了错误处理。 OOS 是一个 C++ 的 ORM 框架。旨在封装所有数据库后端功能,并对开发者提供统...

oschina
2014/01/16
1K
5
Neo4j的查询语法笔记(二)

cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目基本开发完毕,后面会陆续总结学习一下neo4j相关的知识。今天接着上篇文章...

九劫散仙
2016/11/11
136
0
PHP 安全:过滤、验证和转义

我们在开发应用时,一般有个约定:不要信任任何来自不受自己控制的数据源中的数据。例如以下这些外部源: $_GET $_POST $_REQUEST $_COOKIE $argv php://stdin php://input filegetcontents(...

梦梦阁
09/14
0
0
见招拆招:绕过WAF继续SQL注入常用方法

  这篇文章之前的名字叫做:WAF bypass for SQL injection #理论篇,我于6月17日投稿了Freebuf。链接:点击这里 现博客恢复,特发此处。   Web Hacker总是生存在与WAF的不断抗争之中的,...

mik3y
2014/07/16
0
13

没有更多内容

加载失败,请刷新页面

加载更多

Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
17分钟前
1
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
29分钟前
1
0
laravel框架常用目录路径

laravel框架常用目录路径 app_path()app_path函数返回app目录的绝对路径:$path = app_path();你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:$path = app_p...

高处胜寒
31分钟前
0
0
记一次winserver2003系统,https无法访问,内存占用持续增加,解决办法

先交代一下环境: win server2003系统,系统装在hyper-v虚拟机里 大概2016年底的镜像,距离今天两年左右 病症:大概9月10号左右用这个镜像还可以访问https,但是今天用这个镜像新装的系统,就...

阳阳露
46分钟前
3
0
Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部