• 【原创】SQL审核系统


    前言

    应公司dba的需求,做了一个sql审核并可以执行、记录的系统,整个系统有三种角色:
    DBA(需要管理员手动登记)
    运维人员(需要管理员手动登记)
    开发人员(默认注册后用户)
    权限分配如下:

    一些功能展示

    先要感谢前任武大神留下的前端模板,在后续的开发节省了大量的时间,我也就拿过来直接用了。
    由于是在公司使用的代码,源码不能开源,下边是一些展示截图,后续会把这个系统涉及到的一些自认为关键的知识点整理出来,分享一部分代码。

    • 登录界面
    • 注册界面
    • 忘记密码

      注册、忘记密码这块可以通过邮箱拿到一个验证码,然后通过验证码来进行验证,后边博客会详细介绍这块代码的实现。
      生成随机验证码的部分参考我之前的博客http://www.cnblogs.com/caseast/p/4797930.html ,验证码插件部分
    • 登录后的首页展示

      这个是权限最大的DBA用户的页面,开发、运维会略有不同,功能要少一些 都是傻瓜式的操作,确认sql即为dba审核,审核后运维才可以在生产上执行。另外还专门为dba提供了一个预发布环境,用于上线前,DBA可以现在预发布环境跑一遍sql,之后再通过审核。逻辑图如下
    • 提交新增sql


      会对开发提交的sql做一个正则匹配,不同的方向包含的库不同,如果提交的语句使用的库名不在方向列表中,会进行提示,另外如果sql中有一些危险语法,也会做初级的判断,不允许提交。
    • sql高亮提示
    • 变更流程展示
    • 执行过程展示

      执行完毕后会在已上线SQL日志中进行展示,启动的任务由celery+redis异步进行分发处理
    • 执行结果展示
    • 支持多条件联合搜索

    总结

    目前这套系统已经部署上线,投入使用了,比起之前的审核系统,主要加入了较全面的日志记录和预发布功能。部分代码分析还请等待后边的博客。

  • 相关阅读:
    启发式搜索学习~~
    bzoj1032
    bzoj1037
    bzoj1029
    codevs1081 线段树练习 2
    bzoj1006
    bzoj1003
    Codeforces 607B Zuma
    20155326《网络对抗》网络欺诈技术防范
    20155326刘美岑 Exp6 信息收集与漏洞扫描
  • 原文地址:https://www.cnblogs.com/caseast/p/5809355.html
Copyright © 2020-2023  润新知