前文分别介绍过了Resty和gin-jwt两个包,Resty是一个HTTP和REST客户端,gin-jwt是一个实现了JWT的Gin中间件。本文将使用这两个包来实现一个简单的用户登录功能。 环境准备 实现登录功能之前要提前准备一个用于查询用户是否存在的服务。访问服务http ...
作为后端开发者我们要记住一句话: 永远不要相信用户的输入 ,这里所说的用户可能是人,也可能是另一个应用程序。 永远不要相信用户的输入 是安全编码的准则,也就是说,任何输入的内容在验证无害之前都是有害的。很多应用程序的安全漏洞都和用户输入有关,比如SQL注入漏洞。 我们可以通过参数验证 sql语句过滤和参数化查询等方式对用户的输入进行处理来规避这种安全隐患。本文介绍第一种方法,并对基于gin的go ...
2020-11-26 13:43 0 684 推荐指数:
前文分别介绍过了Resty和gin-jwt两个包,Resty是一个HTTP和REST客户端,gin-jwt是一个实现了JWT的Gin中间件。本文将使用这两个包来实现一个简单的用户登录功能。 环境准备 实现登录功能之前要提前准备一个用于查询用户是否存在的服务。访问服务http ...
Golang天生适合运行在docker容器中,这得益于:Golang的静态编译,当在编译的时候关闭cgo的时候,可以完全不依赖系统环境。 一些基础 测试容器时我们经常需要进入容器查看运行情况,以下命令启动一个centos容器并进入bash交互环境。 -it 组合参数-i: 以交互模式运行容器 ...
Gin是一个用Golang编写的HTTP网络框架。它的特点是类似于Martini的API,性能更好。在golang web开发领域是一个非常热门的web框架。 启动一个Gin web服务器 使用下面的命令安装Gin 在代码里添加依赖 快速启动一个Gin服务器的代码如下 核心 ...
JSON Web Token(JWT)是一种很流行的跨域认证解决方案,JWT基于JSON可以在进行验证的同时附带身份信息,对于前后端分离项目很有帮助。 JWT由三部分组成,每个部分之间用点.隔开,分别称为HEADER、PAYLOAD和VERIFY SIGNATURE。HEADER ...
在前两篇文章介绍路由的时候,我们了解到gin可用通过类似DefaultQuery或DefaultPostForm等方法获取到前端提交过来的参数。参数不多的情况下也很好用,但是想想看,如果接口有很多个参数的时候再用这种方法就要调用很多次获取参数的方法,本文将介绍一种新的接收参数的方法来解决这个问题 ...
gin中间件(middleware)提供了类似于面向切面编程或路由拦截器的功能,可以在请求前和请求之后添加一些自定义逻辑。实际开发中有很多场景会用到中间件,例如:权限验证,缓存,错误处理,日志,事务等。 使用中间件 gin的中间件分为三类:全局中间件、路由中间件、分组路由中间件。 全局中间件 ...
微服务开发中服务间调用的主流方式有两种HTTP、RPC,HTTP相对来说比较简单。本文将使用 Resty 包来实现基于HTTP的微服务调用。 Resty简介 Resty 是一个简单的HTTP和REST客户端工具包,简单是指使用上非常简单。Resty在使用简单的基础上提供了非常强大的功能,涉及到 ...
Gin除了模型绑定还提供了模型验证功能。你可以给字段指定特定的规则标签,如果一个字段用binding:"required"标签修饰,在绑定时该字段的值为空,那么将返回一个错误。开发web api的时候大部分参数都是需要验证的,比如email参数要验证是否是邮箱格式、phone参数要验证是否 ...