jwq98 2023-02-16 10:35 采纳率: 20%
浏览 46
已结题

关于#前端#的问题:开发时发现手动打开控制台可以直接修改sesstionStorage里面的数据,影响页面数据显示

开发时发现手动打开控制台可以直接修改sesstionStorage里面的数据,影响页面数据显示。
想问一下一般项目上线后用户也可以这样操作吗?
用什么方法可以避免啊?

  • 写回答

3条回答 默认 最新

  • 量化研究所 2023-02-16 10:42
    关注

    在前端开发中,无论是使用 localStorage 还是 sessionStorage 存储数据都存在被恶意篡改的风险,因为存储在客户端的数据都是明文可见的。

    在上线后,用户也可以通过一些技巧手段修改 sessionStorage 中的数据,比如通过浏览器插件或者直接使用开发者工具等。

    为了避免数据被篡改,可以考虑以下几点措施:

    对存储的数据进行加密,使得数据在客户端存储时不易被窃取或篡改。这种方式可以增加被攻击的门槛,但也有一定的性能开销。

    对敏感数据进行签名,通过哈希算法将数据转换为固定长度的字符串,对该字符串进行签名,然后将签名和数据一起存储在 sessionStorage 中。当需要验证数据的完整性时,再重新计算签名并比较存储的签名是否相等。这种方式可以保证数据的完整性,但无法保护数据的机密性。

    在客户端存储数据时,根据数据的重要性和敏感程度分别存储在 localStorage 和 sessionStorage 中。例如,可以将用户的个人信息等敏感数据存储在 localStorage 中,而其他业务数据则存储在 sessionStorage 中。这样即使 sessionStorage 中的数据被篡改,也不会对用户的敏感信息造成太大的影响。

    对于一些重要的操作,可以在客户端进行数据验证,例如输入合法性验证、操作权限验证等。这样可以减少被恶意篡改的风险。

    总之,前端存储数据是存在被篡改的风险的,需要综合考虑数据的安全性和用户体验,并采取合适的措施来避免数据被恶意篡改。

    望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 C++ /QT 内存权限的判断函数列举
  • ¥15 深度学习GFnet理解问题
  • ¥15 单细胞小提琴堆叠图代码
  • ¥80 LS dyna mpp并行报错
  • ¥50 升级strust2版本到2.3.15.1后使用ognl3.0.6.jar windows环境中没有问题,但部署到linux环境报错
  • ¥15 vue页面,node封装接口
  • ¥15 求TMS320F280039C工程模板!
  • ¥15 delphi+fastreport实现分组补空打印问题
  • ¥15 使用python把两台mysql数据库服务器数据导出和导入
  • ¥15 NodeBB论坛配置Apache Solr中文搜索引擎的详细教程