web-applications - 移动应用程序开发 - HTML5 LocalStorage vs SessionStorage vs Cookies

标签 web-applications mobile security jquery-mobile

我们正在 jQuery Mobile 平台上开发一个移动 web 应用程序,它需要用户提供他们的用户名和密码。

与其要求用户每次重新输入他们的详细信息,我们只想向他们询问一次他们的用户名和密码,然后提示他们输入密码。

我们将加密此 pin 并加密用户标识符字符串,并将两者保存在 LocalStorage 或 Cookie 中。

当用户第二次访问应用程序时,我们将测试是否可以找到用户标识符,如果可以,则提示他们输入 PIN 码。

输入密码后,我们将安全地 (SSL) 传递密码和用户标识符,以便在服务器上解密和验证。

我在一些地方读到我们应该使用 Cookies 而不是 LocalStorage(从安全角度来看)。您是否同意这一点,并且可以在大多数智能手机上使用 cookie?

我们还需要确保用户在每次关闭浏览器或浏览到另一个页面或超过 30 分钟不事件时都需要重新输入他们的 pin。

为了管理这个,我想在 SessionStorage 中存储一个值,因为我读到这比 LocalStorage 更安全,并且在浏览器关闭时过期。或者,我们可以再次使用 Cookie。

安全是一个关键问题,因此我很想听听您可能拥有的任何提示和/或替代方法。

提前谢谢了...

最佳答案

如果安全是您的主要关注点,我不建议使用 cookie,因为它们随每个请求发送到服务器,这可能会被任何通过网络嗅探该流量的人拦截。在性能方面,使用 cookie 还会增加服务器和客户端之间来回传输的数据量。

为了您的目的,我会选择 sessionStorage如果您希望您的数据仅在浏览器 session 的生命周期内保持不变,包括可以测试 session 过期的时间戳。数据在 sessionStoragelocalStorage只停留在客户端,永远不会发送到服务器。

关于web-applications - 移动应用程序开发 - HTML5 LocalStorage vs SessionStorage vs Cookies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862764/

相关文章:

javascript - 检查元素是否正在淡出 (Javascript/Jquery)

ios - 使用套接字推送 iOS Web 应用程序的通知?

iphone - Safari 移动版全屏

blackberry - 开发黑莓应用

security - 是否可以用 XMPP (Jabber) 协议(protocol)中的数字签名对每条消息进行签名?

security - 在 Symfony 中重写 login_check 功能

java - Web 应用程序中的 NTLM 身份验证 (java)

jquery - 移动菜单上的响应问题

css - 在移动设备上滚动下拉菜单不起作用

security - Grails 中的真实性 token