SQL工具

简介: 该方法用于检测输入字符串是否包含常见SQL关键字,防止SQL注入攻击。通过转为小写并匹配预定义的敏感词列表(如select、drop、union等),若存在返回true,否则返回false,适用于基础SQL安全校验。

是否包含sql关键字
public static boolean sqlValidate(String str) {
if (null == str || "".equals(str)) {
return false;
}
str = str.toLowerCase();// 统一转为小写
String badStr = "'|and|exec|execute|insert|select|delete|update|count|drop|*|%|chr|mid|master|truncate|"

    + "char|declare|sitename|net user|xp_cmdshell|;|or|-|+|,|like'|and|exec|execute|insert|create|drop|"
    + "table|from|grant|use|group_concat|column_name|"
    + "information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|*|"
    + "chr|mid|master|truncate|char|declare|or|;|-|--|+|,|like|//|/|%|#";// 过滤掉的sql关键字,可以手动添加
String[] badStrs = badStr.split("\\|");
for (int i = 0; i < badStrs.length; i++) {
    if (str.indexOf(badStrs[i]) >= 0) {
        return true;
    }
}
return false;

}

目录
相关文章
|
4月前
|
敏捷开发 测试技术 持续交付
微服务技术栈
单元测试是保障代码质量的基石。它快速、稳定,能精准定位问题,提升代码可维护性与团队协作效率。通过“测试金字塔”模型,单元测试作为底层支撑,占比应达80%。相比端到端测试,它显著降低维护成本,助力持续交付。写单测不是踩刹车,而是为软件研发提速。
113 9
|
存储 SQL 缓存
探秘WebSQL:轻松构建前端数据库
探秘WebSQL:轻松构建前端数据库
542 0
|
SQL 存储 分布式计算
Hive性能优化之表设计优化2
Hive性能优化之表设计优化2
420 1
|
人工智能 运维 Cloud Native
阿里巴巴云原生大数据运维平台 SREWorks 正式开源
阿里巴巴云原生大数据运维平台 SREWorks,沉淀了团队近10年经过内部业务锤炼的 SRE 工程实践,今天正式对外开源,秉承“数据化、智能化”运维思想,帮助运维行业更多的从业者采用“数智”思想做好高效运维
|
HandyJSON 监控 Java
阿里程序员常用的 15 款开发者工具
作者 | Linux技术责编 | 阿秃 从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。 阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。
阿里程序员常用的 15 款开发者工具
Vue3选择框选择不同的值输入框刷新变化
Vue3选择框选择不同的值输入框刷新变化
358 5
|
存储 Java Spring
Spring Boot对静态变量@Value注入默认值
Spring Boot对静态变量@Value注入默认值
611 0
|
Java 数据库连接 测试技术
在Spring Boot中实现数据校验与验证
在Spring Boot中实现数据校验与验证
@Target注解
@Target注解用于指定自定义注解的作用目标,如类、接口、字段、方法、参数、构造函数、局部变量、注解类型及包,确保注解只能在指定程序元素上使用,提升代码规范性与可读性。
|
XML 应用服务中间件 Apache
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。