Golang 中如何在 Gin 里正确配置带 SameSite 的安全 Cookie

在 Gin 里给 Cookie 加上 SameSite,不能靠 `c.SetCookie()` 猜参数位置。真正生效的做法,是直接构造 `http.Cookie` 并通过 `http.SetCookie()` 写回响应,同时把 `Domain`、`Path`、`Secure`、`HttpOnly` 等字段一起配对处理。 Gin 里设置 Cookie 看似只是一次 `c.SetCookie()` 调用,但只要涉及 `SameSite`,这层封装就很容易让人误判参数含义,结果登录态能写入,CSRF 防护却没有真正启用。

Golang 中如何在 Gin 里正确配置带 SameSite 的安全 Cookie

Go 语言实现 MCP 鉴权,你该选哪种认证方案?

MCP 在生产环境里一旦接入外部工具,鉴权就不再是可选题。本文结合 Go 语言和 mcp-go v0.48.0 的现状,拆解 OAuth 2.1、自定义 Bearer Token、STDIO 环境变量三种实现思路,帮助你按传输方式、规范要求和安全边界做选型。 在 MCP 进入真实业务后,鉴权很快会从“以后再补”变成上线前必须回答的问题:谁能调用工具、调用到哪一层、不同传输方式该怎么做。

Go 语言实现 MCP 鉴权,你该选哪种认证方案?

Go `crypto/subtle` 包详解:常量时间操作到底解决了什么

Go 的 `crypto/subtle` 包不负责加密算法本身,却常出现在真正安全的实现里。它解决的是容易被忽视的时间侧信道问题:比较、选择和拷贝敏感数据时,尽量不让执行时间暴露额外信息。本文结合常见场景,梳理它能做什么、适合放在哪,以及使用时要避开的误区。

Go `crypto/subtle` 包详解:常量时间操作到底解决了什么

Go 语言中如何实现 RSA 加解密与签名验证

这篇文章用一个更省代码的 Go 封装库,梳理 RSA 在实际开发里的三个基本动作:生成密钥、公钥加密私钥解密、私钥签名公钥验签。示例都基于 `github.com/forgoer/openssl`,适合想快速落地 RSA 功能、同时分清加密和签名职责的 Go 开发者。

Go 语言中如何实现 RSA 加解密与签名验证