浏览器的本地存储有多安全

How secure is local storage of browser?

本文关键字:安全 存储 浏览器      更新时间:2023-12-20
      `$(function rememberMe() {
        if (localStorage.chkbx && localStorage.chkbx != '') {
            $('#remember-me').attr('checked', 'checked');
            $('#user').val(localStorage.usrname);
            $('#pass').val(localStorage.pass);
        } else {
            $('#remember-me').removeAttr('checked');
            $('#user').val('');
            $('#pass').val('');
        }
        $('#remember-me').click(function() {
            if ($('#remember-me').is(':checked')) {
                localStorage.usrname = $('#user').val();
                localStorage.pass = $('#pass').val();
                localStorage.chkbx = $('#remember-me').val();
            } else {
                localStorage.usrname = '';
                localStorage.pass = '';
                localStorage.chkbx = '';
            }
        });
    });

我已经使用本地存储在登录页面上实现了"记住我"功能,但我怀疑它的安全性。我将密码存储在本地存储中,但我想使用更好的选项。加密无济于事,因为我必须在客户端发送脚本进行解密。还有其他选择吗??

不要存储密码。在服务器端进行哈希加密,并在浏览器上存储cookie(localstorage或其他(,最好通过https提供。始终执行加密/解密服务器端。

您可以在此堆栈溢出答案中看到有关如何安全地执行此操作并遵循最佳实践的精彩解释:

为网站实施"记住我"的最佳方法是什么?

基于表单的网站身份验证的权威指南

无论它在哪里说cookie,你都可以放置本地存储

从不在本地存储中存储密码。

  1. 进行身份验证,
  2. 创建会话密钥并将此密钥存储在 SQL 中,
  3. 将会话密钥保存在用户存储中,
  4. 通过会话密钥恢复会话,
  5. 如果用户重新登录,请创建新的会话密钥。