【发布时间】:2013-07-04 19:34:24
【问题描述】:
我正在使用 HTML/CSS/JS 开发一个混合移动应用程序,我正在检查登录信息的安全性,我设置的系统会在用户登录后创建一个哈希,这个哈希有时间限制并且通过 localStorage 设置
本质上,我会有类似这样的本地存储:
hash
5f4a09cfec2a6d8f306eecb3844e33e9
hash_expiration
1373012945
password
*encryted user password*
这个哈希被发送到我的服务器以在我所有的 AJAX 请求的标头中进行验证(伴随着用于数据库匹配的用户 ID)
我主要是打开这个主题来讨论如何处理重新创建哈希键的最佳实践,我需要找出一种方法来刷新用户哈希键。
考虑到我在 AJAX 和 JS 方面的经验仍然相当有限,我考虑过使用 AJAX 设置来检查新哈希,如下所示:
$.ajaxSetup({
beforeSend: function(xhr, settings) {
var time = new Date().getTime(); //unix time
var hash_time = localStorage.getItem("hash_expiration");
if(time>hash_time){
//ajax request to fetch new hash, async: false to make sure this completes before continuing with other AJAX calls
}
}
});
我会发送用户 ID 和他的加密密码来验证他并返回一个新的哈希值。
我应该在 ajaxSetup 的 beforeSend 中发送 AJAX 请求吗?这将如何与我的应用程序中的其他 beforeSend 冲突?
【问题讨论】:
标签: javascript jquery cordova hybrid-mobile-app