【问题标题】:Creating a user_session table for authentication.创建用于身份验证的 user_session 表。
【发布时间】:2013-02-26 02:28:11
【问题描述】:

我正在开发一个使用 php webservices 的 android 应用程序。我一直在处理服务器端和客户端之间的会话时遇到问题,所以我决定采用不同的方法。我计划创建一个 user_session 表,其中包含 session_id、user_id、session_token 和 expiry_date。

session_token 将使用用户的某些字段生成,而 expiry_date 是 session_token 重新生成或更改为 null 的日期。这意味着用户将需要在 android 上再次登录。

一个场景: 1. 用户输入正确的凭据 2. Web 服务为用户生成一个 session_token,将其存储在 user_session 表中,并将值发送到客户端。 3. 对于android应用的每一个请求,web-service都会验证client端的session_token是否对应表中的session_token。

我的问题: 1. 你能帮我创建 session_token 和 expiry_date,因为我不知道如何使用其他字段在 php 中生成唯一值。 2. 在安全方面值得吗?

感谢您的帮助

【问题讨论】:

    标签: php android mysql session


    【解决方案1】:

    你可以使用hasing:

    $token = sha1($ssid.$something);
    
    $ssid = session_id();
    

    $token 变量是你的令牌.. 将其插入数据库,并创建条件。它是独一无二的,它基于会话 ID 和其他“认为”您可以使用电子邮件地址或其他字段...但要小心,如果用户更改该字段,您需要再次生成令牌

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多