V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lemayi
V2EX  ›  问与答

请教下各位前后端分离项目数据安全的问题

  •  
  •   lemayi · 2017-08-25 18:41:13 +08:00 · 1954 次点击
    这是一个创建于 2435 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前后端分离项目,前端多页面。
    在登录后,请求用户信息接口。返回用户的用户名,手机号,电子邮箱,用户等级名称等信息。这些信息很多页面会需要用到。
    前端希望是每个页面都请求一次这个接口保证安全。
    我觉得应该登录后返回用户信息,就存到本地 sessionstorage 里面。然后每个页面的直接读取本地信息。
    修改电子邮箱或者手机号,再修改本地的信息。这样减少网络请求资源消耗。
    但是前端说这不安全。没有足够的理由说服。知识欠缺。
    请教下各位有过类似的经验的朋友,类似前后端分离项目。用户的基本信息是放在哪儿的呢?
    还有类似用户等级列表(就一个简单的等级说明。比如 dz 那种。什么什么等级有什么权限),也可以存到本地的吧。
    8 条回复    2017-08-25 22:29:43 +08:00
    bazingaterry
        1
    bazingaterry  
       2017-08-25 18:47:51 +08:00 via iPhone
    前端太懒了吧,每个页面都请求一次,那么还写 SPA 来干嘛,干脆就直接回到服务端渲染好了。
    lemayi
        2
    lemayi  
    OP
       2017-08-25 18:56:43 +08:00
    @bazingaterry 也不是懒了。只是觉得可能更安全。我欠缺前端方面的知识。不好说服他。手机号,邮箱这些确实有点敏感。但是没想到有影响的地方。你们在做前后端分离的项目是不是冷数据几乎都缓存在本地?
    bazingaterry
        3
    bazingaterry  
       2017-08-25 19:05:14 +08:00
    @lemayi 我的做法是缓存在本地。

    至于存在 sessionstorage 是有可能被后来的用户窃取的风险。但是可以存在状态管理里面吧,例如 Vuex 之类的,伴随整个页面的生命周期,结束也就销毁了。
    wafm
        4
    wafm  
       2017-08-25 19:07:15 +08:00
    我们的做法是 本地加密保存 HTTPS 接口 敏感操作需要密码验证
    loveyu
        5
    loveyu  
       2017-08-25 20:11:20 +08:00
    就是前端太懒了而已,遇到过为了偷懒,宁可暴露数据也不愿意加授权参数的
    azh7138m
        6
    azh7138m  
       2017-08-25 20:56:42 +08:00 via Android
    @loveyu token (?)和这个没任何关系

    存在前端的问题在于数据什么时候应该更新,差不多是自己实现一遍缓存了。
    loveyu
        7
    loveyu  
       2017-08-25 22:15:35 +08:00
    @azh7138m 差不多类似吧,实际就是谁都不愿意改代码。我只想表达一个就是大家都比较懒的意思而已,包括我一样
    Sapp
        8
    Sapp  
       2017-08-25 22:29:43 +08:00 via Android
    这种情况你们不用 vuex 这种玩意的吗?既然各个页面都需要用到相同数据,又没办法封装进一个组件,vuex 是量身定制的啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3800 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:51 · PVG 08:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.