android - token在什么情况下会过期?
PHP中文网
PHP中文网 2017-04-17 16:52:49
[Android讨论组]
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
怪我咯

我们也刚好在解决类似的问题,以下是我们设想的准备去实践的方案,欢迎讨论,难免疏漏

  1. 安全都是相对的,没有什么最安全一说,要根据具体的业务、人力、开发成本等等去综合考虑。我们目前考虑的算法hash("sha256",user_id+timestamp+salt),timestamp是时间戳,salt是加密盐,这个不知道如何解释,反正你认为是增加破解难度即可,salt尽量是带有大小写字母、字符、数字的一个固定字符串

  2. 服务器生成token以后和token失效时间一起存储在redis里面,比如失效时间为一天86400秒,然后每次请求服务器端都会检测这个token是否失效,如果失效就响应token失效状态码,客户端获取到这个状态码以后调用更新token的接口,用老的token换取服务器端重新生成的token并本地存储。然后更严谨一点的话根据产品需求设定一个超时登录时间,redis里面可以直接给key设定超时比如一个月,redis.expire(key,expiration);然后登时间到了redis就会自动删除,避免僵尸用户一直占用redis存储。另外每次登陆都会重新更新一次token

  3. 目前设想的每个用户都会有一个唯一的token,所以就算被抓包也只是获取了这个用户的所有用户数据,并不算严重,这个就是我所说的相对安全,说白了就是我们没有更多的资源用来处理这个问题使他更安全,或许后续会更新

个人建议,仅供参考

高洛峰

现在哪有安全性可言

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号