Go教程技术文章
-
Go 服务渲染首屏时,直接把 json.Marshal 结果转成 template.JS 很容易越过 html/template 的安全边界。更稳的做法是把结构体直接放在 script 的 JavaScript 值位置,让 html/template 按上下文生成安全 JSON;少量字段则用 data-* 属性。177 收藏 -
Golang · Go教程 | 1天前 | golang · HTTP · 安全 · Go教程 · net/http · 接口防护 · net/http 请求超时 MaxBytesReader Go HTTP 请求体限制 内存防护
Go HTTP 服务接收上传、Webhook 或 JSON 请求时,单靠 ReadAll 很容易被异常大请求拖高内存。本文从请求体上限、读取超时、状态码和日志字段四个边界入手,给出一套可复查的 net/http 防护实现。173 收藏 -
Golang · Go教程 | 4天前 | https · cors · chrome · Go教程 · Local Network Access · 内网接口 · 浏览器权限 Go CORS Go 内网接口 Chrome 142 Local Network Access targetAddressSpace
Chrome 142 开始把从公网页面到本地 IP 或回环地址的请求放到 Local Network Access 权限提示之后。Go 服务端只补 CORS 头并不能替用户授予权限。本文用一个内网设备状态接口说明如何区分浏览器权限、HTTPS、Go CORS 和 iframe Permissions-Policy,避免继续套用已搁置的 PNA 预检方案。152 收藏 -
Go 项目从 fmt.Println 走向结构化日志后,标准库 slog、zap 和 zerolog 都能完成 JSON 输出,但默认行为、扩展方式、性能与迁移成本并不一样。本文按项目约束比较三种方案,并给出可落地的选择规则。151 收藏 -
Webhook 只校验 HMAC 还不够:攻击者可以把合法请求原样重发。本文用时间戳、Nonce、HMAC-SHA256 和一次性记录,完成一套可复查的 Go 签名校验流程。144 收藏 -
Golang · Go教程 | 4天前 | golang · 缓存 · singleflight · go · 高并发 · 后端开发 · Go 并发控制 缓存失效 请求合并 singleflight 回源
一个热门缓存键刚失效时,几百个请求可能同时回源,把数据库或下游接口推到峰值。Go 的 golang.org/x/sync/singleflight 能让同一个 key 的重叠调用只保留一趟加载,其余调用等待并复用结果。这里用一个商品读取场景说明放置位置、key 范围、多实例边界、错误传播和上线核对项。109 收藏 -
一个全局 QPS 阈值只能挡住总流量,挡不住单个租户或重接口挤占资源。本文用 Go 的令牌桶限流器拆解全局、租户、接口三层配额的取舍、最小实现和观察指标。100 收藏