Go Web编程--使用bcrpyt哈希用户密码

2020-04-13
阅读 3 分钟
4.3k
上一期的文章《我们应该如何保护用户的密码》里我们介绍了bcrypt相较于MD5,SHA-1...SHA-256等哈希算法更适合用于做密码的哈希,原因就是bcrypt算法哈希字符串的速度远远慢于上面列举的那些算法。这样即使整个用户密码库被用户盗用后想要通过彩虹表和暴力破解的方法猜测出用户的密码代价会非常高昂。今天的文章里就主要...

Go Web编程--解析JSON请求和生成JSON响应

2020-04-03
阅读 3 分钟
8.9k
现在无论是网站、App、小程序还是移动端H5页面应用,都是采用前端与后端单独部署,相互之间以API接口交互的形式构建而成的。因为在结合可读性、编码数据大小和开发者使用难度上都JSON格式是一个比较好的选择,所以接口的数据格式通常都采用JSON,即前端在发送POST,PUT,PATCH请求添加,更改数据时会把数据以JSON格式放...

Go Web编程--SecureCookie实现客户端Session管理

2020-03-12
阅读 5 分钟
2.4k
在Web应用开发中Session是在用户和服务器之间进行交换的非持久化交互信息。当用户登录时,可以在用户和服务器之间生成Session,然后来回交换数据,并在用户登出时销毁Session。gorilla/sessions软件包提供了易于使用的Go语言Session实现。该软件包提供了两种不同的实现。第一个是文件系统存储,它将每个会话存储在服务器...

使用Go语言创建静态文件服务器

2020-03-06
阅读 3 分钟
9.4k
上篇关于Go模板库应用的文章最后我们留下一个问题,页面模板是通过CDN引用的BootStrap的css,js文件。到目前位置我们的服务器还无法伺服客户端的静态文件请求把服务器磁盘上的文件响应给客户端。使用和配置过Nginx服务器的一定知道Nginx天然支持静态资源的访问,那么我们是不是也要借助Nginx才能实现处理静态文件请求呢...

Go Web 编程--超详细的模板库应用指南

2020-03-04
阅读 7 分钟
4.1k
如果你有过Web编程的经验,那么或多或少都听说过或者使用过模板。简而言之,模板是可用于创建动态内容的文本文件。例如,你有一个网站导航栏的模板,其中动态内容的一部分可能是根据当前用户是否登录显示登录还是退出按钮。

Go Web编程--深入学习解析HTTP请求

2020-02-25
阅读 10 分钟
3.1k
之前这个系列的文章一直在讲用Go语言怎么编写HTTP服务器来提供服务,如何给服务器配置路由来匹配请求到对应的处理程序,如何添加中间件把一些通用的处理任务从具体的Handler中解耦出来,以及如何更规范地在项目中应用数据库。不过一直漏掉了一个环节是服务器接收到请求后如何解析请求拿到想要的数据,Go语言使用net/http...

Go Web编程--应用数据库

2020-02-13
阅读 5 分钟
3.2k
今天我们继续接着前几篇关于Go Web编程的文章往下延伸。在Web应用程序中几乎每个应用场景都需要存储和检索数据库中的数据。当你处理动态内容,为用户提供表单以输入数据或存储登录名和密码凭据以供用户进行身份验证时,都需要用到数据库。 MySQL数据库是整个互联网中最常用的数据库。MySQL已经存在了很长时间,还在不停...