原文:基於gin的golang web開發:永遠不要相信用戶的輸入

作為后端開發者我們要記住一句話: 永遠不要相信用戶的輸入 ,這里所說的用戶可能是人,也可能是另一個應用程序。 永遠不要相信用戶的輸入 是安全編碼的准則,也就是說,任何輸入的內容在驗證無害之前都是有害的。很多應用程序的安全漏洞都和用戶輸入有關,比如SQL注入漏洞。 我們可以通過參數驗證 sql語句過濾和參數化查詢等方式對用戶的輸入進行處理來規避這種安全隱患。本文介紹第一種方法,並對基於gin的go ...

2020-11-26 13:43 0 684 推薦指數:

查看詳情

基於gingolang web開發:實現用戶登錄

前文分別介紹過了Resty和gin-jwt兩個包,Resty是一個HTTP和REST客戶端,gin-jwt是一個實現了JWT的Gin中間件。本文將使用這兩個包來實現一個簡單的用戶登錄功能。 環境准備 實現登錄功能之前要提前准備一個用於查詢用戶是否存在的服務。訪問服務http ...

Fri Dec 11 23:34:00 CST 2020 0 1479
基於gingolang web開發:docker

Golang天生適合運行在docker容器中,這得益於:Golang的靜態編譯,當在編譯的時候關閉cgo的時候,可以完全不依賴系統環境。 一些基礎 測試容器時我們經常需要進入容器查看運行情況,以下命令啟動一個centos容器並進入bash交互環境。 -it 組合參數-i: 以交互模式運行容器 ...

Fri Nov 27 21:42:00 CST 2020 0 530
基於gingolang web開發:路由

Gin是一個用Golang編寫的HTTP網絡框架。它的特點是類似於Martini的API,性能更好。在golang web開發領域是一個非常熱門的web框架。 啟動一個Gin web服務器 使用下面的命令安裝Gin 在代碼里添加依賴 快速啟動一個Gin服務器的代碼如下 核心 ...

Wed Oct 21 21:48:00 CST 2020 0 766
基於gingolang web開發:認證利器jwt

JSON Web Token(JWT)是一種很流行的跨域認證解決方案,JWT基於JSON可以在進行驗證的同時附帶身份信息,對於前后端分離項目很有幫助。 JWT由三部分組成,每個部分之間用點.隔開,分別稱為HEADER、PAYLOAD和VERIFY SIGNATURE。HEADER ...

Wed Dec 02 21:42:00 CST 2020 1 711
基於gingolang web開發:模型綁定

在前兩篇文章介紹路由的時候,我們了解到gin可用通過類似DefaultQuery或DefaultPostForm等方法獲取到前端提交過來的參數。參數不多的情況下也很好用,但是想想看,如果接口有很多個參數的時候再用這種方法就要調用很多次獲取參數的方法,本文將介紹一種新的接收參數的方法來解決這個問題 ...

Wed Oct 28 19:54:00 CST 2020 0 624
基於gingolang web開發:中間件

gin中間件(middleware)提供了類似於面向切面編程或路由攔截器的功能,可以在請求前和請求之后添加一些自定義邏輯。實際開發中有很多場景會用到中間件,例如:權限驗證,緩存,錯誤處理,日志,事務等。 使用中間件 gin的中間件分為三類:全局中間件、路由中間件、分組路由中間件。 全局中間件 ...

Thu Nov 19 21:38:00 CST 2020 0 464
基於gingolang web開發:服務間調用

微服務開發中服務間調用的主流方式有兩種HTTP、RPC,HTTP相對來說比較簡單。本文將使用 Resty 包來實現基於HTTP的微服務調用。 Resty簡介 Resty 是一個簡單的HTTP和REST客戶端工具包,簡單是指使用上非常簡單。Resty在使用簡單的基礎上提供了非常強大的功能,涉及到 ...

Wed Dec 09 21:42:00 CST 2020 0 705
基於gingolang web開發:模型驗證

Gin除了模型綁定還提供了模型驗證功能。你可以給字段指定特定的規則標簽,如果一個字段用binding:"required"標簽修飾,在綁定時該字段的值為空,那么將返回一個錯誤。開發web api的時候大部分參數都是需要驗證的,比如email參數要驗證是否是郵箱格式、phone參數要驗證是否 ...

Wed Nov 04 21:48:00 CST 2020 0 498
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM