`$(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 = '';
}
});
});
我使用本地存储在登录页面上实现“记住我”功能,但我怀疑它是多么安全。我将密码存储在本地存储中,但我想使用更好的选项。加密不会有帮助,因为我必须在客户端发送解密脚本。还有其他选择吗?
答案 0 :(得分:5)
不要存储密码。在服务器端进行哈希加密,并在浏览器上存储cookie(localstorage或其他),如果通过https提供,则更好。始终执行加密/解密服务器端。
您可以看到有关如何安全地执行此操作以及遵循此stackoverflow答案中的最佳做法的详细说明:
What is the best way to implement "remember me" for a website?
The definitive guide to form-based website authentication
无论在哪里 cookie ,您都可以放置 localstorage 。
答案 1 :(得分:2)
永远不要在本地存储中存储密码。