其实官网的介绍已经很详细了https://beego.me/docs/mvc/controller/xsrf.md, 我这里自己做一个demo来演练一下
srf(跨站请求伪造)防护:
- 定义:每个用户一个cookie,所有的请求都需要验证这个cookie,如果没有这个cookie,则被认为跨站请求伪造。
- 防止类型:挟制用户在当前已登陆的web应用程序上执行非本意的操作的攻击方法。
- XSRF:利用的是网站对用户网页浏览器的信任。
一、开启XSRF防护的两种方法
1.1、方法一:在配置文件里开启
// 在配置文件里添加如下三条配置
enablexsrf = true // 开启xsrf防护
xsrfkey = 61oEzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o // beego默认的xsrfkey是:“beegoxsrf”,这里将key改为基于当前的key进行加密
xsrfexpire = 3600 //过期时间,默认1小时,单位秒
1.2、方法二:在main.go里beego.Run()上方开启
// 在beego.Run()上方添加如下三行配置
beego.BConfig.WebConfig.EnableXSRF = true // 开启xsrf防护
beego.BConfig.WebConfig.XSRFKey = "61oEzKXQAGaY