news 2026/4/16 18:13:53

c.SetCookie(common.CookieTokenName, token, int(3600*expireHours), “/“, ““, false, true)有什么优势

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c.SetCookie(common.CookieTokenName, token, int(3600*expireHours), “/“, ““, false, true)有什么优势

这是 Go 语言中设置 HTTP Cookie 的代码,使用了http.SetCookie或框架封装的方法。让我分析这个调用的优势:

参数解析

表格

复制

参数含义
namecommon.CookieTokenNameCookie 名称(通常是 token 或 session ID)
valuetoken实际的认证令牌值
maxAgeint(3600 * expireHours)Cookie 有效期(秒),由小时数动态计算
path"/"整个站点有效
domain""当前域名(不跨域)
securefalse允许 HTTP 传输(不强制 HTTPS)
httpOnlytrue禁止 JavaScript 访问

核心优势

1.动态过期时间计算

go

复制

int(3600 * expireHours)
  • 将小时转换为秒,配置灵活(如 24 小时 = 86400 秒)

  • 便于统一管理会话时长策略

2.HttpOnly = true(安全关键)

  • 防御 XSS 攻击:JavaScript 无法通过document.cookie读取

  • 即使页面被注入恶意脚本,Token 也不会被盗取

  • 这是现代 Web 应用的安全基线要求

3.Path = "/"(全站可用)

  • 用户在整个域名下保持登录状态

  • 避免子路径重复登录的糟糕体验

4.Domain = ""(限制作用域)

  • 仅对当前域名有效,不扩散到子域

  • 减少 CSRF 攻击面(配合其他措施)


⚠️ 潜在改进建议

表格

复制

当前设置建议原因
Secure: false生产环境设为true防止中间人窃听,强制 HTTPS 传输
SameSite未设置添加SameSite=Lax/Strict防御 CSRF 攻击
过期时间硬编码使用配置中心/环境变量便于不同环境调整

更安全的写法示例:

go

复制

c.SetCookie( common.CookieTokenName, token, int(3600*expireHours), "/", "", true, // Secure: 生产环境强制 HTTPS true, // HttpOnly: 防 XSS ) // 同时设置 SameSite 属性(根据框架支持)

总结

这段代码的主要优势在于XSS 防护(HttpOnly)灵活的会话管理,但生产环境建议启用Secure标志并补充SameSite属性,形成完整的 Cookie 安全策略。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:42:23

其它用户信息有必要使用cookie吗

这是一个关于会话管理策略的设计问题。是否需要将其他用户信息存入 Cookie,取决于信息敏感度、使用频率和性能考量。一般原则:Token 最小化表格复制存储内容建议位置原因用户 ID / Token✅ Cookie (HttpOnly)身份认证必需,防 XSS用户名、头像…

作者头像 李华
网站建设 2026/4/16 15:54:05

人工智能应用- 语言处理:01.机器翻译:人类语言的特点

全球约有 5000 至 7000 种语言,这种多样性为国际交流带来了极大障碍。机器翻译旨在通过计算机实现跨语言的交流,是人工智能领域的重要研究方向之一。早期的机器翻译主要依赖词典和语法规则,但这种方法难以处理语言的复杂性。后来,…

作者头像 李华
网站建设 2026/4/16 14:28:22

反传统学习APP,摒弃固定课程顺序,根据用户做题正确性,学习速度,动态调整课程难度,比如某知识点学不会,自动推荐基础讲解和练习题,学习后再进阶,不搞一刀切。

1. 实际应用场景 & 痛点引入场景传统学习 App 往往采用固定课程顺序,用户必须按部就班地学习,即使某个知识点已经掌握,也要被迫完成所有练习;反之,如果某个知识点没掌握,系统也不会自动回溯到基础讲解&…

作者头像 李华