diff --git a/main.go b/main.go index 80bb825..84f1637 100644 --- a/main.go +++ b/main.go @@ -14,35 +14,43 @@ func main() { //modules.ImportDatabaseToHex() http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { //测试用ip地址 - //ip := "103.47.100.182" + //ip := "192.168.2.134" //获取访问浏览器ip ip := strings.Split(r.RemoteAddr, ":")[0] //fmt.Println("客户端IP地址:", ip) - if ip == "" { w.Write([]byte("Invalid IP")) - } - IP_info = modules.GetIPInformation(ip) - log.Println("客户端ip:", ip) - - //使用mmdb查询ip - IpIformation := modules.MmdbQueryIP(ip) - - //使用MySql查询ip - //dsn := modules.Readconfig() - //IpIformation := modules.MysqlQuery(ip, dsn) - - log.Println("tag:main", IpIformation) - jsonData, err := json.Marshal(IpIformation) - if err != nil { - fmt.Println("JSON 序列化失败:", err) return } - // 设置响应的 Content-Type 为 application/json - w.Header().Set("Content-Type", "application/json") - // 返回 JSON 数据 - //log.Println(jsonData) - w.Write(jsonData) + if ip != "" { + IPinfo := modules.GetIPInformation(ip) + fmt.Println("IP", IPinfo.IP) + fmt.Println("IsPrivate", IPinfo.IsPrivate) + fmt.Println("PrivateCIDR", IPinfo.PrivateCIDR) + if IPinfo.IsPrivate == true { + w.Write([]byte("Invalid IP")) + return + } + if IPinfo.IsPrivate != true { + //使用mmdb查询ip + IpIformation := modules.MmdbQueryIP(IPinfo.IP) + //使用MySql查询ip + //dsn := modules.Readconfig() + //IpIformation := modules.MysqlQuery(ip, dsn) + + log.Println("tag:main", IpIformation) + jsonData, err := json.Marshal(IpIformation) + if err != nil { + fmt.Println("JSON 序列化失败:", err) + return + } + // 设置响应的 Content-Type 为 application/json + w.Header().Set("Content-Type", "application/json") + // 返回 JSON 数据 + //log.Println(jsonData) + w.Write(jsonData) + } + } }) http.ListenAndServe(":8341", nil) }