Go语言技术文章
-
Go 1.24 引入的 testing.B.Loop 可以把基准测试的一次性初始化和清理放到计时边界之外。本文用固定输入的哈希基准说明正确写法、b.N 迁移边界、编译器优化注意事项和 go test 检查命令。117 收藏 -
B.Loop 只负责迭代与计时,不会恢复循环外可变状态。切片长度、容量、map 内容或缓冲区会跨轮累积,导致每次操作不再等价。本文用可运行示例区分新建成本与复用成本,并说明重置是否计时。105 收藏 -
讲解如何把 Go 旧式 b.N 基准测试迁移到 testing.B.Loop,处理一次性准备、循环内输入重置、计时器控制、自定义指标和结果对比,并说明不能混用的边界。315 收藏 -
说明 Go CrossOriginProtection 与 CORS 同时配置时的职责差异:前者决定非安全跨源请求能否进入业务处理器,后者决定浏览器能否跨源读取响应,并给出共享白名单、中间件顺序和测试矩阵。367 收藏 -
讲清 Go net/http CrossOriginProtection 如何放进已有恢复、日志、认证和路由中间件链,配置可信 Origin、自定义 403 拒绝处理和精确例外,并区分它与 CORS 的职责。316 收藏 -
Golang · Go问答 | 1星期前 | 故障排查 · net/http · Go问答 · 反向代理 Sec-Fetch-Site Go CrossOriginProtection Origin Host 403误判
定位 Go CrossOriginProtection 在反向代理改写 Host、请求缺少 Sec-Fetch-Site 时的 403 误判,给出精确可信 Origin、Host 保留与安全测试方案。201 收藏 -
Golang · Go教程 | 1星期前 | web安全 · Go教程 · net/http · CSRF防护 Go CrossOriginProtection AddTrustedOrigin 可信子域 跨源写请求
以控制台和 API 分处不同子域的场景,讲清 Go CrossOriginProtection 的精确 Origin 放行、启动校验、拒绝日志、CORS 边界与回归测试。467 收藏 -
CrossOriginProtection 并不会仅因缺少 Origin 而拒绝请求。本文结合 Go net/http 当前规则,说明 Sec-Fetch-Site、Origin、Host、请求方法与 403 排查方法。186 收藏 -
Go 1.25 的 net/http.CrossOriginProtection 可在业务处理器前拒绝非安全的跨站浏览器请求。本文说明判断规则、Handler 接入方式、可信 Origin 配置与兼容边界,并给出适合 Cookie 会话表单写接口的完整示例。245 收藏 -
os.Root 支持多个 goroutine 并发调用,但 Close 不是业务停机屏障。本文结合官方文档与源码说明在途操作、后续调用和已打开文件的不同结果,并给出先停止准入、排空任务、最后关闭 Root 的实现。461 收藏 -
用 Go 1.24 的 os.OpenRoot 建立插件目录边界,通过 Root 方法和 Root.FS 读取相对文件,处理路径遍历、符号链接、资源关闭及挂载点等实际限制。104 收藏 -
filepath.Clean 只处理路径字符串,不解析软链接、权限和真实文件系统状态。本文按路径生命周期解释 os.Root 仍会拒绝访问的原因,并给出可移植的校验与错误处理写法。329 收藏 -
本文从零实现一个 Go 归档展开小工具:用 os.Root 限制落盘范围,只接受目录和普通文件,并通过路径白名单、文件数量、单文件大小与总展开量控制用户上传风险。441 收藏 -
Go os.Root 会跟随根目录内的软链接,但每次打开仍会校验最终目标是否留在边界内。本文用三类链接、错误分类与安全代码解释为什么边界错误是预期防护。306 收藏 -
Go 1.24 引入的 os.Root 可以把文件读写限制在上传目录内。本文对比 filepath.Join、os.OpenRoot 与 os.OpenInRoot 的使用边界,并说明符号链接、平台差异、性能和资源释放。200 收藏