Go 1.25 引入了新的 http.CrossOriginProtection 中间件到标准库中,这让我们思考:是否已经到了可以在不依赖基于令牌的检查(如双重提交cookie)的情况下防止 CSRF 攻击的时候?是否可以在不引入第三方包的情况下构建安全的 Web 应用程序?答案可能是谨慎的"是"——只要满足几个重要条件。
Go 的代码生成功能虽然简单,但非常强大和实用。通过 go generate 命令,我们可以实现自动化重复性代码的生成,实现类似泛型功能(在 Go 1.18 之前特别有用),生成高效的查找表和常量,自动化字符串表示的生成,集成各种代码生成工具。通过正确使用这些功能,我们可以大大提高 Go 开发的效率和代码质量。
ThrottleX 是一个用 Go 语言实现的高性能分布式限流库,提供了三种主流限流算法的实现。该项目特别注重性能优化和分布式场景支持,可以轻松应对高并发环境下的限流需求。ThrottleX 根据定义的策略(如固定窗口、滑动窗口和令牌桶)限制可以到达后端(无论是 Web 服务器、API 等)的请求数量,从而管理请求流。