运行效果:系统可正常编译,正常访问,在用户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 os下:[mw_shl_code=shell,true]$ echo $GOOSwindows$ echo $GOARCH386$ go build -o hello.exe hello.go$ file hello.exehello.exe: Mach-O 64-bit executable x86_64[/mw_shl_code]安装go仓库安装
$ sudo apt-get install golang
源码安装
安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
$ sudo apt-get install bison gawk gcc libc6-dev make
安装mercurial工具,目的使用hg命令来提取golang的源代码
$ sudo apt-get install mercurial
代取提取,如果网速比较慢的话,此步要多花点时间
$ hg clone -r release https://Go.googlecode.com/hg/ go
编译golang
$ cd go/src
$ ./all.bash
gvm安装
$ sudo apt-get install curl Git mercurial make binutils bison gcc build-essential
$ bash <<(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装完终端会提示(按提示输入)
Cloning from https://github.com/moovweb/gvm.git to /home/c3t/.gvm
Created profile for existing install of Go at "/usr/lib/go"
Installed GVM v1.0.22
Please restart your terminal session or to get started right away run
`source /home/root/.gvm/scripts/gvm`123456123456
$ source /home/root/.gvm/scripts/gvm
gvm安装完成
$ gvm version
列出所有支持的版本
$ gvm listall
下载源码编译安装 go1.4
$ gvm install go1.4
使用go1.4
$ gvm use go1.4
若想安装go1.5.2
$ gvm install go1.5.2
开机默认使用1.5.2
$ gvm use go1.5.2 --default
列出已安装版本
$ gvm list