首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否将userId保存在sessionStorage中并返回错误?

将userId保存在sessionStorage中并返回错误是不推荐的做法。sessionStorage是一种在浏览器端存储数据的机制,它与用户会话相关联,但是它并不是一个安全的存储方式。以下是对这个问题的详细解答:

  1. 为什么不推荐将userId保存在sessionStorage中?
    • 安全性:sessionStorage是存储在浏览器端的,用户可以通过查看浏览器缓存或使用开发者工具轻松地访问和修改sessionStorage中的数据。因此,将敏感信息如userId保存在sessionStorage中存在被恶意篡改或盗取的风险。
    • 可靠性:sessionStorage的数据在用户关闭浏览器窗口后会被清除,因此无法长期保存数据。如果需要在用户下次访问时仍然能够获取userId,应该考虑使用其他持久化存储方式,如cookie或服务器端存储。
  • 应该如何保存和传递userId?
    • 安全性:为了确保数据的安全性,应该将敏感信息如userId保存在服务器端,并使用安全的传输协议(如HTTPS)进行传输。服务器端可以使用会话管理技术(如token或session)来维护用户的身份认证和会话状态。
    • 持久化存储:如果需要在用户下次访问时仍然能够获取userId,可以考虑使用cookie来保存userId。在服务器端设置一个带有适当过期时间的cookie,浏览器会自动将该cookie发送给服务器,从而实现持久化存储。
  • 推荐的腾讯云相关产品和产品介绍链接地址:
    • 腾讯云身份认证服务CAM:https://cloud.tencent.com/product/cam
    • 腾讯云密钥管理系统KMS:https://cloud.tencent.com/product/kms
    • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
    • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
    • 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql
    • 腾讯云内容分发网络CDN:https://cloud.tencent.com/product/cdn

总结:将userId保存在sessionStorage中并返回错误是不推荐的做法,应该将敏感信息保存在服务器端,并使用安全的传输协议进行传输。腾讯云提供了一系列的产品和服务来支持云计算领域的需求,包括身份认证服务、密钥管理系统、云服务器、对象存储、数据库和内容分发网络等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 【面试总结】

最后判断这个角色是否可以访问 https://www.shiyanlou.com/v1/books/ 的对应方法即可 如果这个角色有权限访问这个url就返回数据,不能访问就返回 401状态码...如果有sessionid,服务器根据该id返回对应session对象。如果客户端请求没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应返回给客户端。...sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。...使用协同过滤算法简单测试 测试数据 第一步,数据读取格式化为字典形式,便于解析 第二步:借助"欧几里德"算法计算用户相似度 第三步:计算某个用户与其他用户的相似度 第四步:根据相似度最高的用户喜好商品排序.../phone.txt', 'r', encoding='utf-8') as fp: content = fp.readlines() # 第一步,数据读取格式化为字典形式,便于解析 def

53730
  • 微服务 day17:基于Zuul网关实现路由转发、过滤器

    3**、前端携带token请求认证服务获取**jwt令牌 前端获取到 jwt 令牌并存储在 sessionStorage。 前端从jwt令牌解析中用户信息显示在页面。 前端如何解析?...4、解析申请令牌错误信息 当账号输入错误应该返回用户不存在的信息,当密码错误返回用户名或密码错误信息,业务流程图如下: ?...修改申请令牌的程序解析返回错误: 由于 restTemplate 收到400或401的错误会抛出异常,而 spring security 针对账号不存在及密码错误返回 400 及 401,所以在代码控制针对...jwt 2、认证服务根据身份令牌从 redis 查询 jwt 令牌返回给客户端。...五、身份校验 0x01 需求分析 本小节实现网关连接 Redis 校验令牌: 1、从 cookie 查询用户身份令牌是否存在,不存在则拒绝访问 2、从 http header 查询jwt令牌是否存在,不存在则拒绝访问

    3.7K20

    SpringBoot 实现扫码登录

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。 好了!分析完了这些。...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。那么流。就是放置了二维码的uuid。这个uuid作为一次会话的标识符使用。...怎么放自己看 window.sessionStorage.uuid = uuid; window.sessionStorage.userId...= data.userId; window.sessionStorage.projId = data.projId; window.location.href

    36430

    SpringBoot+webSocket实现扫码登录功能

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。 好了!分析完了这些。...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流。就是放置了二维码的uuid。...怎么放自己看 window.sessionStorage.uuid = uuid; window.sessionStorage.userId...= data.userId; window.sessionStorage.projId = data.projId;

    1.1K10

    Spring Boot 实现扫码登录,这种方式太香了!!

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。 好了!...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流。就是放置了二维码的uuid。...怎么放自己看 window.sessionStorage.uuid = uuid; window.sessionStorage.userId...= data.userId; window.sessionStorage.projId = data.projId; window.location.href

    1K51

    搭建dedecms漏洞靶场练习环境

    漏洞分析及复现 前台任意用户密码修改 漏洞成因 在用户密码重置功能处,php存在弱类型比较,导致如果用户没有设置密问题的情况下可以绕过验证密问题,直接修改密码(管理员账户默认不设置密问题)。..., "-1"); exit();} 再次过滤了图片名,并且再次判断如上三种文件类型是否存在其中。...,当cookie的last_vid存在值为空时,就会将uid值赋予过去,last_vid = uid;,然后PutCookie。...那么这么说,我们控制了$uid就相当于可以返回任意值经过服务器处理的md5值。 而在接下来会验证用户是否登录。...;} 可以看到,直接从数据库读取写入php文件,从数据库取出后并没有经过过滤。

    12.1K20

    Spring Boot + Web Socket 实现扫码登录,这种方式太香了!!

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。 好了!分析完了这些。...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流。就是放置了二维码的uuid。...怎么放自己看 window.sessionStorage.uuid = uuid; window.sessionStorage.userId...= data.userId; window.sessionStorage.projId = data.projId; window.location.href

    71230

    Spring Boot 实现扫码登录,这种方式太香了!!

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。 好了!...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流。就是放置了二维码的uuid。...怎么放自己看 window.sessionStorage.uuid = uuid; window.sessionStorage.userId...= data.userId; window.sessionStorage.projId = data.projId; window.location.href

    1.1K50

    Spring Boot 实现扫码登录,这种方式太香了!!

    User_Token表 字段如下: uuid : 用于确保唯一性 userId :谁登录的 loginTime :登录时间 createTime :创建时间 用于判断是否过期 state:是否二维码失效...获取二维码的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。 确认身份接口通过以后。服务端给PC端发送信息。完成登录。此时链接断开。...知识点:动态加载图片流取出header的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流。就是放置了二维码的uuid。...怎么放自己看                window.sessionStorage.uuid = uuid;                window.sessionStorage.userId ...= data.userId;                window.sessionStorage.projId = data.projId;                window.location.href

    61030

    从0到1开发测试平台(十三)前后端接口token验证

    | 前言 前端登录成功之后,token会保存在浏览器的本地缓存里面,然后每次接口访问我们都会在header里面带上这个token,后台拿到这个token会去做用户认证,认证通过才会继续执行并成功返回,不通过提示用户验证失败或者请重新登录...#{now} and IS_VALID = 1 | 后端增加后端登录拦截器,这样便可以在请求到后台时进行拦截,根据token查询登录表是否存在...,不存在则提示请登录。...String token = request.getHeader("token"); log.info("token:{}",token); //登录表里查下token是否存在...// TODO Auto-generated method stub } /** * 整个请求处理完毕回调方法,即在视图渲染完毕时回调, * 如性能监控我们可以在此记录结束时间输出消耗时间

    60720

    常见状态码

    430 1015 删除的数据不存在 要删除的活聊天室 ID 不存在。 200 1016 设置活聊天室个数超限 设置的活聊天室个数超限。...23409 已被踢出禁止加入聊天室。 23410 聊天室不存在。 23412 聊天室接口参数无效。 23414 聊天室云存储业务未开通。 24012 通话鉴权失败。...建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。 30008 导航 HTTP 返回数据格式错误。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。...请检查您使用的 App Key 是否正确。 31009 用户被封禁。请检查您使用的 Token 是否正确,以及对应的 UserId 是否被封禁。...33002 数据库错误,请检查您使用的 Token 和 userId 是否正确。 33003 开发者接口调用时传入的参数错误,请检查接口调用时传入的参数类型和值。

    2.3K30

    前端必学必会-多媒体-本地存储-浏览器与服务器的交互-通信功能

    出现错误时,返回一个MediaError对象,该对象的code返回对于的错误状态值。 ? media_err_aborted,媒体数据的下载过程由于用户的操作原因而被中止。...localStorage 只读的localStorage 属性允许你访问一个Document 源的对象 Storage;存储的数据存在浏览器会话。...Web Storage分两种: sessionStorage数据存储在session对象,就是用户在浏览某个网站时,从进入到浏览器关闭的这段时间,session对象可以用来保存在这段时间内所要求保存的任何数据...当我们通过浏览器进行访问网页的时候,服务器会生成一个证书返回给我的浏览器写入我们的本地电脑。 这个证书是cookie。一般来说,cookie都是服务器端写入客户端的纯文本文件。...在HTML5,通过使用cache manifest,表明了缓存的资源,支持自动和手动两种缓存方式。 ?

    2.2K20

    浏览器之客户端存储

    我们在网络拾遗之Http缓存文章,从网络协议的视角介绍了网站「客户端缓存」 的HTTP缓存策略,对「强缓存」和「协商缓存」做了较为详细的介绍。...返回包含页面「所有有效」 cookie 的字符串(根据域、路径、过期时间和安全设置),以分号分隔。...❝大部分浏览器localStorage 和 sessionStorage 限制为「每个源 5MB」 ❞ IndexedDB ❝Indexed Database API 简称 IndexedDB,是浏览器存储...为此,大多数操作以「请求的形式」执行,这些请求会「异步执行」,产生成功的结果或错误。...如果给定名称的数据库「已存在」,则会发送一个「打开」它的请求 如果「不存在」,则会发送「创建打开」这个数据库的请求 这个方法会返回 IDBRequest 的实例,可以在这个实例上添加 onerror

    2.4K20
    领券