Golang 绑定mac和ip地址,限制服务器

Python011

Golang 绑定mac和ip地址,限制服务器,第1张

实际业务:go 二进制文件在私有化部署中,需要对客户的服务器mac和ip进行绑定,系统只能运行在绑定的服务器上。把mac和ip地址配置到config中。

运行效果:系统可正常编译,正常访问,在用户Auth接口进行核对。

//检验Mac和内网IP,测试环境不做校验

func (c *CommonBase)CheckMacAndIp()error {

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

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

if ipCfg =="127.0.0.1" {

return nil

}

macArray,_ :=gipv4.GetMacArray()

if len(macArray) ==0 {

return gerror.New("mac地址获取失败")

}

if garray.NewStrArrayFrom(macArray).Contains(macCfg) ==false {

return gerror.New("示授权的应用MAC,请联系")

}

ipArray,_ :=gipv4.GetIpArray()

ipIntranetArray,_ :=gipv4.GetIntranetIpArray()

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

return gerror.New("ip地址获取失败")

}

if garray.NewStrArrayFrom(ipArray).Merge(ipIntranetArray).Contains(ipCfg) ==false {

return gerror.New("示授权的应用IP,请联系")

}

return nil

}

项目使用GoFrame框架1.6。考虑到客户可能会对内存数据做分析破解,可以把mac和ip地址做AES加密。

Mac系统下彻底删除golang的方法

首先打开终端输入命令

可以看到go的安装相关路径,一般默认情况下在是 /usr/local/go

同时可以执行命令

查看go的相关信息,以及使用命令

查看go相关的配置信息

现在正是开始怎么彻底删除Mac中的golang吧

第一步:

在root模式下删除go的安装包,执行命令:

第二步:

清除go默认的配置信息,执行命令:

第三步:

删除mac下变量环境,先打开终端命令窗口,执行命令:

删除相关信息,以下是我的信息有点多,你的安装看具体情况

以上编辑完毕后,按键盘上esc键,然后输入

保存成功

重启bash_profile,,在终端命令窗口输入如下:

ok!it's over!