91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言RPC Authorization進行簡單ip安全驗證的方法是怎樣的

發布時間:2021-09-17 15:26:18 來源:億速云 閱讀:163 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關Go語言RPC Authorization進行簡單ip安全驗證的方法是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

前言:寫網絡服務,總要考慮安全機制,對ip和網段進行判斷是最簡單的一個驗證機制。之后想做一個類似注冊式的安全驗證機制,既可以減少配置文件的麻煩,又可以很好的進行安全管理。

直接上代碼:

 代碼如下:

package main

import(
    "net"
    "fmt"
    "time"
    "strings"
)
func main(){
    IP_ARRAY := "192.168.1.234,192.168.1.47,192.168.2.0/28"
    servPort:=":7272"
    l,err := net.Listen( "tcp",servPort )
    if err != nil {
        fmt.Printf( "Listen is error" )
        return
    }
    allowList :=strings.Split( IP_ARRAY,"," )
    for{ 
        conn,err:=l.Accept()
        if err != nil {
            fmt.Printf( "start connect  is error" )
            return
        }
        ipAddr:=conn.RemoteAddr()
        Addr := strings.Split( ipAddr.String(), ":")
        rAddr := net.ParseIP( Addr[0] )
        var authorized bool = false
        for v := range allowList{
            _,ipNet,err := net.ParseCIDR( allowList[v] )
            if err != nil{
                fmt.Printf( "parse ip net error" )
                ipHost := net.ParseIP( allowList[v])
                if ipHost != nil{
                   if ipHost.Equal( rAddr ) {
                      authorized =true
                   }
                }else{
                    fmt.Printf( "ip list error" )
                }
            }else{
                fmt.Printf( "Contains ip " )
                if ipNet.Contains( rAddr ) {
                    authorized =true
                }
            }
        }
        if authorized == true{ 
            curTime:=time.Now()
            fmt.Printf( curTime.Format( "2006-01-02 15:04:05" )  )
            conn.Write( []byte(curTime.Format( "2006-01-02 15:04:05" ) ) )
            time.Sleep( 10)
        }else{
            conn.Close()
        }
    }
}

以上就是Go語言RPC Authorization進行簡單ip安全驗證的方法是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万安县| 通辽市| 浪卡子县| 屯门区| 新乡县| 台中市| 墨竹工卡县| 格尔木市| 凤山县| 松溪县| 武定县| 深圳市| 兴宁市| 定西市| 江阴市| 永仁县| 新竹县| 虎林市| 长泰县| 万山特区| 库伦旗| 舞钢市| 安龙县| 霍林郭勒市| 高平市| 舟山市| 章丘市| 商南县| 松潘县| 南雄市| 固阳县| 磐石市| 阿图什市| 宝兴县| 连平县| 浙江省| 庆云县| 宽甸| 西华县| 承德县| 太和县|