voidint
voidint
- 现有的agent中通过ping命令去检测当前网段内目标业务IP是否可达。 - 实际更多的情况是,业务IP并不在当前的装机网段内,不管业务IP是否被占用,通过ping都无法达到检查的目的。
- 当前实现中,挂载Samba使用的是`net use Z: \\osinstall\image`命令,其中用到了`osinstall`这个域名。现需要将`osinstall`改为实际的IP。IP通过`ping osinstall`获得。 - 挂载Samba支持失败时重试,重试上线为3次。
使用`go mod`相关指令做依赖管理
用户登录密码加盐
当前仅对用户的登录密码进行了md5,容易破解,建议对登录密码加盐后再md5。
整理配置文件中的配置项,并把所有配置项搬到`cloudboot-server`这个二进制可执行文件的`options`当中。 举个🌰:`mysqld`这个二进制可执行文件支持MySQL的配置文件中的所有配置项。`mysqld`启动时并不强依赖于配置文件。
``` go manufacturer, err := repo.GetManufacturerBySn(row.Sn) if err != nil { w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()}) return } ``` 类似以上这样的错误处理方式,如果调用数据层接口,一旦返回error就认定是`参数错误`是不合适的。举个反例:如果db挂了,那么调用数据层一定会返回error,这时候把原因归结为参数错误,显然就不合适了。
业务上属于一个事务的多表操作,实际未放在一个事务内执行。包括但不限于以下 REST API: - `/api/osinstall/v1/device/importDevice`
当前,散落在代码中的权限校验有token机制,session机制。这两种机制都能实现URL资源权限校验的功能。但是还有许多的REST API并没有加上这类资源权限校验机制,导致这些API都处于一种裸奔的状态。
一些函数实现中存在通过字符串拼凑sql语句的情况,存在被恶意sql注入的风险。包括但不限于以下API: - `/api/osinstall/v1/hardware/getProductByWhereAndGroup` - `/api/osinstall/v1/hardware/getModelNameByWhereAndGroup` - `/api/osinstall/v1/hardware/list`