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)

大家都在看

  • 0. 数据库设计规范化

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月16日
    0106
  • 【MySQL】试题 — 31道巩固 SQL 语句的练习题

    1.取得每个部门最高薪水的人员名称先拿出各部门的最高工资,再与(最高工资对应的人员名录表)对接为临时表。 [En] First take out the maximum salar…

    数据库 2023年5月24日
    096
  • 开发思想

    解决的问题:一类对象,不同对象有不同的处理 顶级接口 定义规范,面向接口编程 抽象策略 定义一套模板,不同的交给不同的策略实现 具体策略 枚举 对象标识 –具体策略 策…

    数据库 2023年6月11日
    081
  • MySQL高性能索引策略和查询性能优化

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    数据库 2023年5月24日
    084
  • mysql查询优化

    1.count优化 a语句当行数超过11行的时候需要扫描的行数比b语句要多, b语句扫描了6行,此种情况下,b语句比a语句更有效率。 当没有where语句的时候直接select c…

    数据库 2023年5月24日
    085
  • MySQL实战45讲 17

    17 | 如何正确地显示随机消息? 场景:从词汇表中随机选择三个单词。 [En] Scene: three words are randomly selected from a v…

    数据库 2023年5月24日
    096
  • 2022-8-24 js

    JavaScript脚本语言,解释性 &#x4E3B;&#x8981;&#x7ED9;HTML&#x7F51;&#x9875;&#x…

    数据库 2023年6月14日
    084
  • Simple SNMP with SimpleSnmp

    Apparently not everybody is as interested in the background workings of the SNMP protocol …

    数据库 2023年6月11日
    097
  • 容器化 | ClickHouse Operator 原理解析

    作者:苏厚镇 青云科技数据库研究工程师从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。 通过《ClickHouse on K8s 部署篇》,对比了 Ra…

    数据库 2023年5月24日
    0112
  • lvs负载均衡

    Lvs 一.Lvs简介 二. 体系结构 三. Lvs管理工具 1. ipvs 2. ipvsadm 四.lvs工作模式及原理 1.NAT模式 2. DR模式 3.TUN模式(隧道模…

    数据库 2023年6月14日
    097
  • MySQL实战45讲 19

    19 | 为什么我只查一行的语句,也执行这么慢? 有些情况下,”查一行”,也会执行得特别慢。 需要说明的是,如果 MySQL 数据库本身就有很大的压力,导致…

    数据库 2023年5月24日
    060
  • 你知道5分钟法则和10字节法则么?

    如果一条数据每5分钟被访问一次,那么它应该常驻在内存中。类似的,如果想存储只有0和1两个值的标志位,相比于将8个标志位打包为1个字节,将1个标志位单独存储为1个字节是更节约的选择。…

    数据库 2023年6月14日
    0109
  • 设计模式之(12)——外观模式

    外观模式(facadePattern)又叫门面模式,隐藏了子系统的复杂实现,为子系统中的一组接口提供了一个统一的访问入口,使得子系统容易被访问或使用,说白了就是把复杂的子系统封装成…

    数据库 2023年6月14日
    085
  • day42-反射01

    Java反射01 1.反射(reflection)机制 1.1反射机制问题 一个需求引出反射 请看下面问题: 根据配置文件 re.properties 指定信息,创建Cat对象并调…

    数据库 2023年6月11日
    0129
  • 解决PHP undefined function mcrypt_encrypt()的报错问题

    今天迁移服务器代码遇到了一个未定义的错误 查找了相关资料后,发现是缺少php_mcrypt扩展 于是去下载扩展: https://windows.php.net/downloads…

    数据库 2023年6月14日
    090
  • Maven配置私有仓库

    前言 当公司或个人具有自己独有的jar时,不想公开,一般就会放在自己的私有Maven仓库中,在项目中需要引用,此时就需要将公司私有仓库配置到maven当中,一般我们的maven配置…

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