2012-07-16 102 views
1

我正在用PHP web服务编写JQM web应用程序。用户将能够登录并注册他们购买了俱乐部的汽水等。这些信息将被存储在数据库中并最终被记帐。在jQuery Mobile和PHP中处理会话

为了说明我想要做什么:我已经将此作为Android应用程序实现。我在Android应用程序中的“会话处理”包括将用户的凭证简单地存储在Android的savedPeferences(持久本地存储)中,然后在服务器上进行成功验证。然后,随后的每个服务器请求都将重新发送这些凭据,以便用户只需登录一次即可 - 首次运行应用程序时。

我想尽可能地模仿我的JQM应用程序中的这种行为。理想情况下,用户只能登录一次,除非他们选择注销。

当谈到网站编程时,我有点生疏,那么最好的方法是什么?没有到期的烹饪?我是否使用PHP会话或处理JavaScript中的所有内容?

这是一个爱好项目;我比较喜欢过于安全和复杂的简单解决方案。谢谢!

编辑:https://github.com/carhartl/jquery-cookie 也许这是保持用户登录的最简单的方法..:阅读小李的回答后,我碰到这个插件偶然?

回答

1

PHP会话将在设定的时间量后失效(取决于您的php.ini设置或任何运行时修改设置)。

您可以使用长期过期的cookies来保持登录(通常,用户在登录时被授予复选框以允许其存储登录凭证)。

由于您正在开发移动设备,因此您也可以选择使用HTML5本地存储,因为绝大多数Android浏览器都支持它。在下面的链接中查看更多信息。

HTML5 Local storage info

我喜欢这个作为登录哈希可能即使用户清除浏览器的Cookie,并能严格Javascript中处理持久化。

+0

谢谢。我想到了HTML5本地存储,但我正在努力支持几种不同的移动平台(甚至是Symbian),并且我认为我无法在任何地方依靠HTML5支持。不过,iOS是我的主要焦点。 – Anders 2012-07-16 20:58:32

+0

与现代Symbian浏览器一样,iOS支持HTML5本地存储。真的基于Web Kit的东西应该可以使用,尽管你可以明显地检查兼容性。 – 2012-07-16 21:13:27

+1

我确实最终为我的应用程序使用Web存储(包括localstorage和sessionstorage)而不是cookie。几乎所有在过去3年中收到更新的浏览器似乎都受到支持。但是,我发现在启用“隐私浏览”时,iOS中的网络存储空间会变成错误,因此必须记得用错误消息处理这些情况。 – Anders 2012-08-27 20:40:41