• 攻击 SQL 阻断解析器

    攻击 SQL 阻断解析器

    作用!阻止恶意的全表更新删除

    1. @Bean
    2. public PaginationInterceptor paginationInterceptor() {
    3. PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
    4. ...
    5. List<ISqlParser> sqlParserList = new ArrayList<>();
    6. // 攻击 SQL 阻断解析器、加入解析链
    7. sqlParserList.add(new BlockAttackSqlParser() {
    8. @Override
    9. public void processDelete(Delete delete) {
    10. // 如果你想自定义做点什么,可以重写父类方法像这样子
    11. if ("user".equals(delete.getTable().getName())) {
    12. // 自定义跳过某个表,其他关联表可以调用 delete.getTables() 判断
    13. return ;
    14. }
    15. super.processDelete(delete);
    16. }
    17. });
    18. paginationInterceptor.setSqlParserList(sqlParserList);
    19. ...
    20. return paginationInterceptor;
    21. }