CGP协议安全模式

安全模式与协议正常模式本质区别是,正常模式下所有数据库操作指令均由协议消息体直接操作数据库,而安全模式下数据库操作协议在DbPoxy下预先定义好数据库操作定义后由CGP协议消息指明预定义操作ID进行数据库操作及参数传入从而达到消息安全级别更高。

安全模式操作概述

  1. 在DbPoxy中通过cmd.json预定义数据库操作,定义CmdID作为触发索引

  2. 通过CGP协议触发cmd.json预定义数据库操作.

mongodb数据库操作演练

1.在DbPoxy所在路径下的data目录创建cmd.json文件

{
  "database_type": "mongodb",//数据库类型,此值必须与dbpoxy.yml配置一致
  "enable": true, //本配置文件是否启用
  "inject": "$", //全局防注入字符串,多个以英文半角豆号分隔
  "cmd": [
    {
      "db_name": "DbPoxyTestDB", //数据库名
      "table_name": "test", //表名
      "op_name": "insert", //操作符,支持insert,update,query,delete
      "inject": "$", //单指令防注入字符串,多个以英文半角豆号分隔
      "cmd_id": 1,
      "value": { //数据库操作指令
        "datetime": "{0}",
        "number": "{1}",
        "string": "{2}"
      },
      "param_count": 3 //数据库操作指令参数数量,内核会以此值验证CGP消息
    }
  ]
}

2.CGP协议消息指令

SQL数据库操作演练

0.本次以mysql为例,先到数据库创业测试库(ldh)及users表

1.在DbPoxy所在路径下的data目录创建cmd.json文件

2.CGP协议消息指令

2.1触发cmd.json中的cmd_id:1指令(定义中为insert操作)

返回值

2.2触发cmd.json中的cmd_id:2指令(定义中为query操作)

返回值

2.3触发cmd.json中的cmd_id:3指令(定义中为work事务操作)

返回值

Last updated

Was this helpful?