文档章节

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

淡泊
 淡泊
发布于 2016/07/09 14:33
字数 191
阅读 6
收藏 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
PHP 安全:过滤、验证和转义

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

梦梦阁
09/14
0
0
Neo4j的查询语法笔记(二)

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

九劫散仙
2016/11/11
136
0
见招拆招:绕过WAF继续SQL注入常用方法

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

mik3y
2014/07/16
0
13

没有更多内容

加载失败,请刷新页面

加载更多

以太坊PHP离线交易开发包

EthTool开发包适用于希望采用裸交易的PHP以太坊应用开发,主要包含以下特性: 支持裸交易部署/调用合约 内置etherscan和infura支持 keystore生成与读取,兼容geth/parity 采用裸交易的一个好...

笔阁
16分钟前
0
0
SRE的含义及与 DevOps 如何关联?

虽然站点可靠性工程师(site reliability engineer SRE)角色在近几年变得流行起来,但是很多人 —— 甚至是软件行业里的 —— 还不知道 SRE 是什么或者 SRE 都干些什么。为了搞清楚这些问题...

linuxCool
17分钟前
1
0
月入3万之一个程序员的转行坎坷历程

陈年往事 “我月入3万,怎么会少少了你一个鸡蛋啊?” 这是2017年9月左右的一个新闻,一位煎饼摊大妈因和顾客争执时脱口而出这样一句话而走红。当时还上了各大新闻的头条。 互联网兴起今天,...

苏南-首席填坑官
39分钟前
1
1
OSChina 周一乱弹 —— 眼看着这颗陨石砸了下来

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Nachtblut的单曲《Antik》 《Antik》- Nachtblut 手机党少年们想听歌,请使劲儿戳(这里) @mr_chip :上海的初雪之后有点冷 ...

小小编辑
今天
335
7
Confluence 6 修改导航显示选项

选择 子页面(Child pages)来在边栏中查看当前页面的子页面。 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见...

honeymose
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部