讲师中心 微信公众号
AI工具推荐 视频效率加速

javascript如何操作Cookie_怎样安全地存储用户身份信息?

冬枫君_7226

冬枫君_7226

发布时间:2025-12-31 19:51:08

|

707人浏览过

|

来源于php中文网

原创

不推荐用 Cookie 存储敏感身份信息,应优先使用 HttpOnly+Secure Cookie 配合后端鉴权,前端临时用内存变量存 token,禁用明文存储与 localStorage;现代方案首选 OAuth 2.1 或 Web Crypto 加密存储。

javascript如何操作cookie_怎样安全地存储用户身份信息?

JavaScript 操作 Cookie 本身简单,但不推荐用 Cookie 存储敏感身份信息(如 token、用户ID、密码),尤其不能明文存、不设安全属性。真正安全的身份信息存储,应结合后端配合、前端规范使用与现代替代方案。

Cookie 基础操作(仅限必要场景)

浏览器原生提供 document.cookie 接口,但它是字符串读写接口,需手动解析和拼接:

Ai Coach Batch Session Summary
Ai Coach Batch Session Summary

批量分析录音转写,输出多维度拓客报告。触发词:录音分析、总结、音频总结、拜访记录总结。当用户提及「分析录音」「看看录音数据」「最近的录音」「通话记录」且意图为批量统计/分析时触发。仅出现「录音」或「拜访」时需结合上下文,若仅查看单条详情则不触发。

下载
  • 设置(带安全限制):
    document.cookie = "auth_token=abc123; path=/; secure; HttpOnly=false; SameSite=Lax; max-age=3600";
  • 读取(需自行解析):
    const cookies = document.cookie.split('; ').reduce((acc, pair) => { const [k, v] = pair.split('='); acc[k] = decodeURIComponent(v); return acc; }, {});
  • 删除:设过期时间为过去时间,例如 document.cookie = "auth_token=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/;"

⚠️ 注意:HttpOnly Cookie 无法被 JS 读取(防 XSS),所以若需前端访问 token,HttpOnly=false,但必须搭配其他防护手段。

为什么不能直接用 Cookie 存敏感身份信息?

  • XSS 攻击可窃取非 HttpOnly Cookie 中的 token
  • 明文传输(未启用 HTTPS)时,Cookie 内容可被中间人截获
  • 跨站请求(CSRF)可能被滥用,除非严格配置 SameSite 和验证 CSRF Token
  • Cookie 自动随请求发送,增大攻击面;而前端可控的存储方式(如内存变量)更精准

更安全的身份信息管理实践

  • 优先使用 HttpOnly + Secure Cookie 存 token:由后端颁发、签名、设 Secure(仅 HTTPS)、SameSite=Strict/Lax,前端无需读取,仅用于自动鉴权
  • 前端如需临时使用 token(如调用 API):从内存(如闭包变量、模块级常量)中获取,不用 localStorage/sessionStorage —— 它们易受 XSS 读取
  • 登录态校验双保险:后端每次敏感请求验证 token 有效性 + 签名 + 可选设备指纹或短期刷新机制
  • 敏感操作二次确认:如修改密码、支付前,要求重新输入密码或短信验证,不依赖长期 token

现代替代方案:推荐优先考虑

  • OAuth 2.1 / OpenID Connect:由授权服务器统一管理令牌生命周期,前端只持短期 access_token(建议存在内存,不用持久化)
  • Web Crypto API + 加密存储:极少数需本地缓存加密凭证的场景,可用 SubtleCrypto 加密后存入 IndexedDB(仍不如服务端托管安全)
  • Session Storage(仅会话级):比 localStorage 稍安全(关闭标签即销毁),但仍不防 XSS,仅适合非敏感临时数据

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

5704

2023.10.24

cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

10799

2023.06.30

document.cookie获取不到怎么解决
document.cookie获取不到怎么解决

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

906

2023.11.23

阻止所有cookie什么意思
阻止所有cookie什么意思

阻止所有cookie意味着在浏览器中禁止接受和存储网站发送的cookie。阻止所有cookie可能会影响许多网站的使用体验,因为许多网站使用cookie来提供个性化服务、存储用户信息或跟踪用户行为。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

724

2024.02.23

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

1726

2025.08.19

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

580

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

856

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

1726

2025.08.19

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

0

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 11.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn