【问题标题】:Handling sessions in jQuery Mobile and PHP在 jQuery Mobile 和 PHP 中处理会话
【发布时间】:2012-07-16 20:45:44
【问题描述】:

我正在编写一个带有 PHP Web 服务的 JQM Web 应用程序。用户将能够登录并注册他们已经购买了例如来自俱乐部的苏打水。此信息将存储在数据库中并最终计费。

为了说明我想要做什么:我已经将它实现为一个 Android 应用程序。我在 Android 应用程序中的“会话处理”包括在成功通过服务器身份验证后将用户的凭据存储在 Android 的 savedPeferences(持久本地存储)中。然后,这些凭据会随每个后续服务器请求重新发送,这样用户只需登录一次 - 在第一次运行应用程序时。

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

我对网站编程有点生疏,那么最好的方法是什么?不会过期的菜?我是使用 PHP 会话还是使用 javascript 处理所有内容?

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

编辑:阅读 Mike 的回答后,我偶然发现了这个插件:https://github.com/carhartl/jquery-cookie 也许这是让用户保持登录状态的最简单方法..?

【问题讨论】:

    标签: php jquery session mobile


    【解决方案1】:

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

    您可以使用长期过期的 cookie 来保持登录(通常在登录时为用户提供复选框以允许存储其登录凭据)。

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

    HTML5 Local storage info

    我更喜欢这样,因为即使用户清除了浏览器 cookie,登录哈希也可以保留,并且可以在 Javascript 中严格处理。

    【讨论】:

    • 谢谢。我想到了 HTML5 本地存储,但我正在努力支持几种不同的移动平台(甚至是 Symbian),我认为我不能指望到处都支持 HTML5。不过,iOS 是我的主要关注点。
    • iOS 与现代 Symbian 浏览器一样支持 HTML5 本地存储。实际上,任何基于 Web Kit 的东西都应该可以使用,尽管您显然可以检查兼容性。
    • 我确实最终为我的应用程序使用了 Web 存储(本地存储和会话存储)而不是 cookie。几乎所有在过去 3 年中收到更新的浏览器似乎都支持它。但是,我发现当启用“隐私浏览”时,iOS 中的 Web 存储会被禁用,因此必须记住处理这些情况并显示错误消息。
    猜你喜欢
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2015-07-18
    相关资源
    最近更新 更多