MP 的攻击 SQL 阻断解析器(V3.4.0)

一、何为SQL阻断器

官网给出的一句话

阻止恶意的全表更新删除

官网地址
已经总结的很到位了

二、具体是如何实现的

也很简单,通过MP(Mybatis-Plus)的拦截器来实现,官方更新的很勤快

MP 的攻击 SQL 阻断解析器(V3.4.0)

可以看到 10-8的官方示例代码 而今天仅仅过了10天就

MP 的攻击 SQL 阻断解析器(V3.4.0)

不过插件主题也是10-8更新的还标了必看,不知道图什么

插件主体

三、编码

官方更新了新的使用方式

MP 的攻击 SQL 阻断解析器(V3.4.0)

并且也强调了已有的插件以及使用方式

MP 的攻击 SQL 阻断解析器(V3.4.0)

那就 复制站贴吧

/**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,
     * 需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        List<innerinterceptor> interceptors = new ArrayList<>();
        //&#x5982;&#x679C;&#x60F3;&#x7528;&#x5176;&#x4ED6;&#x7684;&#x63D2;&#x4EF6; &#x6DFB;&#x52A0;&#x5230;&#x96C6;&#x5408;&#x4E2D;&#x5C31;&#x884C;
        interceptors.add(new BlockAttackInnerInterceptor());
        //&#x81EA;&#x52A8;&#x5206;&#x9875;&#x63D2;&#x4EF6;
        interceptors.add(new PaginationInnerInterceptor());
        interceptor.setInterceptors(interceptors);
        return interceptor;
    }
</innerinterceptor>

效果其实挺一般,它也只是看看你做更新和删除时有没有Where条件,感觉 其实 用处不大,但总比没有强

MP 的攻击 SQL 阻断解析器(V3.4.0)

不过照这个更新速度 指不定哪天又更加智能了

Original: https://www.cnblogs.com/pkkyh/p/15420628.html
Author: 迷途者寻影而行
Title: MP 的攻击 SQL 阻断解析器(V3.4.0)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/575737/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java 反射学习笔记

    反射,指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对任意一个对象,都能调用它的任意一个方法。这种动态获取信息,以及动态调用对象方法的功能,叫做 Java 语言…

    数据库 2023年6月11日
    0103
  • 版本控制gitlab

    版本控制gitlab 版本控制gitlab 什么是版本控制gitlab gitlab部署 什么是版本控制gitlab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为…

    数据库 2023年6月14日
    089
  • TortoiseGit的下载以及配置

    TortoiseGit 人称 _小乌龟插件_是一个来源的版本控制客户端,和 git功能类似, 不过相对于git支持界面操作. TortoiseGit下载地址: 点我下载 当前稳定版…

    数据库 2023年6月16日
    093
  • Java 笔记(全)

    ​ 标识符:给类或者变量类的方法属性命名都是标识符 ​ 组成必须是: &#x5B57;&#x6BCD;&#x3001;&#x6570;&#x…

    数据库 2023年6月11日
    077
  • 译文 | MySQL 8.0 密码管理策略(一)

    MySQL 8.0 在密码管理方面有很多改善,本文将介绍以下两个特性。 密码重用策略 生成随机密码 简单地说,当您设置新密码时,您可以限制使用以前使用的密码。有两种策略: [En]…

    数据库 2023年5月24日
    084
  • java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003$$ 无法通过 128 (在表空间 HRDL_CSASS 中) 扩展

    问题: 在tomcat日志信息中出现:java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB000007…

    数据库 2023年6月11日
    0110
  • MySQL安装配置教程(超级详细)

    一、 下载MySQL Mysql官网下载地址:https://downloads.mysql.com/archives/installer/ 1. 选择要安装的版本,本篇文章选择的…

    数据库 2023年5月24日
    0181
  • ArrayList

    ArrayList与数组的区别: 1. 数组和ArrayList的本质区别在于前者是类型安全的,而后者是类型不安全的.2. ArrayList为了兼容所有类型对象,使用了Objec…

    数据库 2023年6月16日
    0100
  • MySQL45讲之前缀索引

    本文介绍了字符串前缀索引的优缺点,以及当字符串的区分度不高时如何建立索引。 [En] This article introduces the advantages and disa…

    数据库 2023年5月24日
    078
  • 07 sql函数

    函数:切记函数和括号要紧密相连内置函数1.算术函数abs mod roundmax min avg sum count 这几个为聚集函数,特别在分组中常用 select abs(-…

    数据库 2023年6月16日
    074
  • 千万级别的表分页查询非常慢,怎么办?

    一、问题复现 在实际的软件系统开发过程中,随着使用的用户群体越来越多,表数据也会随着时间的推移,单表的数据量会越来越大。 以订单表为例,假如每天的订单量在 4 万左右,那么一个月的…

    数据库 2023年6月14日
    093
  • Background process terminated with code 1.

    使用vscode过程中,刷新maven依赖过程中,出现了如下错误信息: Background process terminated with code 1. 图1. maven插件…

    数据库 2023年6月14日
    078
  • 【01】Spring Boot配置文件相关

    1、Spring Boot 获取属性的属性源,优先级从高到低 (1)命令行参数 (2)java:comp/env里的JNDI属性 (3)JVM系统属性 (4)操作系统的环境变量 (…

    数据库 2023年6月9日
    076
  • 从“把大象装进冰箱”来谈谈面向对象程序设计

    引子 把大象装进冰箱需要3步:打开冰箱门,把大象装入冰箱,关闭冰箱门。 扩展一下,我们考虑把动物装进冰箱的场景。比如,把猪🐷装进冰箱,把狗🐶装进冰箱,等等。 怎么利用面向对象的思想…

    数据库 2023年6月9日
    087
  • 爬虫基础_正则表达式_补

    正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串”,这个 “规则…

    数据库 2023年6月11日
    0138
  • Jenkins+gitlab+docker+harbor容器化自动部署详细流程

    环境:Linux版本:Centos7 一、更新源:yum update 二、安装docker:yum install docker -y 启动docker: systemctl s…

    数据库 2023年6月16日
    0130
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球