0

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

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

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

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

谢谢您的帮助

4

1 回答 1

0

您可以使用hasing:

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

$ssid = session_id();

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

于 2013-02-25T18:28:11.573 回答