Go教程技术文章
-
Golang · Go教程 | 1星期前 | web安全 · Go教程 · net/http · CSRF防护 Go CrossOriginProtection AddTrustedOrigin 可信子域 跨源写请求
以控制台和 API 分处不同子域的场景,讲清 Go CrossOriginProtection 的精确 Origin 放行、启动校验、拒绝日志、CORS 边界与回归测试。467 收藏 -
Go 1.25 的 net/http.CrossOriginProtection 可在业务处理器前拒绝非安全的跨站浏览器请求。本文说明判断规则、Handler 接入方式、可信 Origin 配置与兼容边界,并给出适合 Cookie 会话表单写接口的完整示例。245 收藏 -
用 Go 1.24 的 os.OpenRoot 建立插件目录边界,通过 Root 方法和 Root.FS 读取相对文件,处理路径遍历、符号链接、资源关闭及挂载点等实际限制。104 收藏 -
本文从零实现一个 Go 归档展开小工具:用 os.Root 限制落盘范围,只接受目录和普通文件,并通过路径白名单、文件数量、单文件大小与总展开量控制用户上传风险。441 收藏 -
Go 1.24 引入的 os.Root 可以把文件读写限制在上传目录内。本文对比 filepath.Join、os.OpenRoot 与 os.OpenInRoot 的使用边界,并说明符号链接、平台差异、性能和资源释放。200 收藏 -
Go 标准库 uuid.UUID 本质是 16 字节数组。本文讲清 36 字节规范文本、32 字符兼容文本和 16 字节原始二进制的区别,并给出安全双向转换、格式选择与避坑代码。178 收藏 -
用 Go 标准库 uuid 包校验外部标识符时,应把长度限制、Parse、规范文本策略、Nil 业务规则、稳定错误响应和安全日志放在同一入口。本文给出路径参数与 JSON 请求的生产化写法。290 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · 数据库 · uuid · Go教程 · database/sql · Go标准库uuid uuid.New UUID数据库 BINARY(16) CHAR(36) uuid.Parse
Go 1.27 标准库 uuid 生成 UUID 后,如何根据数据库字段选择 BINARY(16) 或 CHAR(36),并完成参数绑定、查询读回和 uuid.Parse 校验。344 收藏 -
runtime/secret 不是新的秘密字节类型,而是敏感计算的生命周期边界。本文从输入所有权、非敏感输出、错误模型、堆分配和平台兼容解释它与普通 byte 切片该如何分工。137 收藏 -
Go runtime/secret 可在受保护调用树结束时擦除寄存器和栈,并在相关堆对象不可达且被 GC 发现后擦除分配,从而缩短临时密钥出现在后续内存转储中的时间。本文给出最小用法、构建条件、平台边界与不能被它消除的副本风险。156 收藏 -
Go 的 runtime/secret 是实验性能力,适合把短生命周期令牌处理限制在 secret.Do 内;本文说明构建开关、堆与栈擦除边界、返回值设计及平台限制。187 收藏 -
在 CI 中使用 go fix -diff 可以只输出统一差异而不改写源文件:无建议时退出 0,有待应用差异时退出非零。本文给出最小门禁脚本、保留补丁时的 pipefail 写法、包范围拆分方案和故障判定清单。458 收藏 -
用 Go 1.26 的 //go:fix inline 为旧 API 提供可迁移的替代入口,演示函数、常量、类型别名的写法,以及副作用、defer、测试和版本门槛等复核边界。363 收藏 -
Go 1.26 重写 go fix,以 modernizer 和 Go analysis 框架批量改写受支持的旧式标准库与语言用法。本文给出 fixer 盘点、-diff 预览、分批落盘、多平台覆盖和测试审查清单,并说明它不会自动迁移所有废弃 API。462 收藏 -
持续同步 pkg.go.dev API 时,不要把 nextPageToken 当永久断点。本文用 Go 完整消费分页、稳定去重、有限重试,并在全量成功后原子替换本地索引。466 收藏