Commit 4f40d578 authored by qiuqunfeng's avatar qiuqunfeng
Browse files

Add RDB password configuration support and remove unused IP info controller

This update introduces the ability to set the RDB password via an environment variable in the LoadConfig function, enhancing database security. Additionally, the IP info controller file has been removed as it was no longer needed, streamlining the codebase.
parent 28753112
......@@ -62,6 +62,10 @@ func LoadConfig() *Config {
log.Err(err).Msg("Failed to parse config file")
return nil
}
password := os.Getenv("RDB_PASSWORD")
if password != "" {
config.DBConfig.Password = password
}
// 如果config.DBConfig为nil,则使用默认值
if config.DBConfig == nil {
config.DBConfig = &DBConfig{
......
package controller
import (
"time"
"github.com/gin-gonic/gin"
"gitlab.com/tensorsecurity-rd/waf-console/internal/model"
"gitlab.com/tensorsecurity-rd/waf-console/internal/service"
"gitlab.com/tensorsecurity-rd/waf-console/internal/utils"
)
type IpInfoController struct {
service service.Service
// controller.Api
}
var isMock bool
// func NewIpInfoController(apiKey string) *IpInfoController {
// mock := os.Getenv("MOCK")
// // var isMock bool
// if mock == "true" {
// isMock = true
// }
// useCachedIPInfo := os.Getenv("USE_IPINFO_CACHE")
// mode := os.Getenv("MODE")
// if mode == "private" {
// return &IpInfoController{
// service: service.NewIpServicePrivate(config.WeibuUrl, apiKey, useCachedIPInfo == "true"),
// }
// } else {
// return &IpInfoController{
// service: service.NewIpService(config.WeibuUrl, apiKey, useCachedIPInfo == "true"),
// }
// }
// }
func mockResponse(ctx *gin.Context) {
ipInfo := model.IPInfo{
Location: model.Location{
Country: "United States",
Province: "New York",
City: "New York City",
Longitude: -74.006,
Latitude: 40.713,
CountryCode: "US",
},
Carrier: "China mobile",
OSSIntelligences: []model.Intelligence{
{
Source: "ThreatBook Labs",
Confidence: 70,
Expired: false,
FindTime: time.Now().UnixMilli(),
UpdateTime: time.Now().UnixMilli(),
IntelTypes: []string{},
IntelTags: []model.TagsClass{},
},
},
OnlineIntelligences: []model.Intelligence{
{
Source: "ThreatBook Labs",
Confidence: 90,
Expired: true,
FindTime: time.Now().UnixMilli(),
UpdateTime: time.Now().UnixMilli(),
IntelTypes: []string{"aaa"},
IntelTags: []model.TagsClass{
{
TagsType: "industry",
Tags: "aaaa",
},
},
},
},
Ports: []model.Port{
{
Port: 80,
Module: "ddd",
Product: "test",
Version: "4",
Detail: "none",
},
},
Samples: []model.Sample{
{
Hash: "12344",
ScanTime: time.Now().UnixMilli(),
Ratio: "19/25",
MalwareType: "attck",
MalwareFamily: "wwww",
},
},
Cas: []model.CAS{
{
Protocol: "ssl",
Port: 443,
Period: 122,
DigitalCertificate: model.Certificate{
Subject: "CloudFlare Origin Certificate",
Fingerprint: "857b7363019f1bf550375d56fa1f483ffb72bdef",
Purpose: "SSL client|SSL server|Netscape SSL server|Any Purpose|Any Purpose CA|OCSP helper",
},
},
},
Rdnses: []model.RDNS{
{
RDNS: "aa",
GetTime: "",
},
},
TagsClasses: []model.TagsClass{
{
TagsType: "hijacked",
Tags: "",
},
},
Scene: "测试",
IsMalicious: true,
}
resp := &utils.SingleRespData{
Item: ipInfo,
}
utils.AssembleResponse(ctx, resp, nil)
}
// func (c *IpInfoController) QueryIP(ctx *gin.Context) {
// ip := ctx.Param("ip")
// if isMock {
// logging.Get().Info().Msg("mock data")
// mockResponse(ctx)
// return
// }
// ipInfo, err := c.service.QueryIP(ip)
// if err != nil {
// logging.Get().Err(err).Msgf("query ip info")
// utils.AssembleResponse(ctx, nil, err)
// // ctx.JSON(http.StatusInternalServerError, err)
// return
// }
// resp := &utils.SingleRespData{
// Item: ipInfo,
// }
// utils.AssembleResponse(ctx, resp, nil)
// }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment