Red de conocimiento informático - Aprendizaje de programación - Go especifica la ip para acceder al nombre de dominio

Go especifica la ip para acceder al nombre de dominio

Negocio real: en la implementación privatizada, el archivo binario go debe estar vinculado al servidor mac e ip del cliente, y el sistema solo puede ejecutarse en el servidor vinculado. Configure las direcciones mac e ip en la configuración.

Efecto operativo: el sistema se puede compilar y acceder normalmente y se puede ver en la interfaz de verificación del usuario.

//Verifique la IP de Mac e intranet, no verifique el entorno de prueba.

error de func(c * base común)CheckMacAndIp() {

ipCfg :=g.Cfg(). GetString("machine.Ipaddr")

macCfg :=g.Cfg(). GetString("machine.Macip")

If ipCfg == " 127 . 0 . 0 . 1 " {

Devuelve cero

}

macArray,_ :=gipv4. GetMacArray()

Si len(macArray) ==0 {

Devuelve gerror. Nuevo("falló la adquisición de la dirección mac")

}

Si Gary. NewStrArrayFrom(McCulley). contiene(macCfg) ==false {

Devuelve gerror. new("MAC de aplicación autorizada, póngase en contacto")

}

ipArray,_:=gipv4. GetIpArray()

ipIntranetArray, _ := gipv4. GetIntranetIpArray()

if len(ipArray)== 0 & amplen(ipIntranetArray) ==0 {

Devuelve gerror. Nuevo("Error al obtener la dirección IP")

}

Si Gary. NewStrArrayFrom(ipArray). fusionar (ipIntranetArray). contiene(ipCfg) ==false {

Devuelve gerror. new("Para obtener la IP de la aplicación autorizada, comuníquese con")

}

devuelve cero

}

El proyecto utiliza GoFrame 1.6. Teniendo en cuenta que los clientes pueden analizar y descifrar datos de la memoria, las direcciones mac e IP pueden cifrarse con AES.