Golang獲取本地IP地址方法,目前了解兩種,記錄如下:
賓川網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),賓川網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為賓川上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的賓川做網(wǎng)站的公司定做!
方法1:
實(shí)際業(yè)務(wù):go 二進(jìn)制文件在私有化部署中,需要對(duì)客戶的服務(wù)器mac和ip進(jìn)行綁定,系統(tǒng)只能運(yùn)行在綁定的服務(wù)器上。把mac和ip地址配置到config中。
運(yùn)行效果:系統(tǒng)可正常編譯,正常訪問(wèn),在用戶Auth接口進(jìn)行核對(duì)。
//檢驗(yàn)Mac和內(nèi)網(wǎng)IP,測(cè)試環(huán)境不做校驗(yàn)
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("示授權(quán)的應(yīng)用MAC,請(qǐng)聯(lián)系")
}
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("示授權(quán)的應(yīng)用IP,請(qǐng)聯(lián)系")
}
return nil
}
項(xiàng)目使用GoFrame框架1.6??紤]到客戶可能會(huì)對(duì)內(nèi)存數(shù)據(jù)做分析破解,可以把mac和ip地址做AES加密。
#include #include #pragma comment(lib,"ws2_32.lib") // 靜態(tài)庫(kù) void findIP(char *ip, int size) { WORD v = MAKEWORD(1, 1); WSADATA wsaData; WSAStartup(v, wsaData); // 加載套接字庫(kù) struct hostent *phostinfo = gethostbyname(""); c...
文章題目:go語(yǔ)言獲取系統(tǒng)ip go語(yǔ)言讀取配置文件
文章URL:http://jinyejixie.com/article16/dosjodg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、做網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)