Home  >  Article  >  Backend Development  >  程序员 - PHP网站不用COOKIE如何实现一周内自动登录,谢谢

程序员 - PHP网站不用COOKIE如何实现一周内自动登录,谢谢

WBOY
WBOYOriginal
2016-06-06 20:43:111418browse

PHP网站不用COOKIE如何实现一周内自动登录,谢谢

回复内容:

PHP网站不用COOKIE如何实现一周内自动登录,谢谢

http是无状态的,它分不清你是谁,是否登录过。所以要在客服端存个记号,等访问服务器时,把这个记号带过去,它就相当认识你了,至于这个记号你怎么实现那就是你选择的问题了。不过从兼容性、易用性等方面考虑。cookies还是不二之选。

html5local storage在本地存token。要不就activex吧。

不用cookie,那怎么识别,这应该不行吧。

不可能~~~~

没办法实现吧 受限于http协议不是吗?客户端总要存储东西吧。。。

此问题的本质是:浏览器端的本地数据存储方案,而非什么http协议的局限性。
具体可以glgoo.com下【浏览器本地存储方案】,一搜一大片,这里不再赘述。
例如chrome支持的本地存储方案:
程序员 - PHP网站不用COOKIE如何实现一周内自动登录,谢谢

之前看到有个同ETag实现Session的论调,不过,这种方式太Geek了,而且不一定稳定。

方法有,但cookie是最好的选择。

在本地存储的方案中cookie自带页面请求时主动发送数据,不二之选。

可以在用户登陆后,给用户的地址添加token,然后这个token有效期是一周
eg. http://segmentfault.com/q/1010000000666346?tk=e2hf92ehfui2hj9dxhj19dsh9u21hd921hwf9de2h9f
只要最后又tk=e2hf92ehfui2hj9dxhj19dsh9u21hd921hwf9de2h9f,那么就通过认证了
至于这个tk怎么生成,怎么校验,就需要更详细分析了
但是大部分来说,这种方式会有极大的泄露风险(cookie也不安全就是...但是url通常会因为无意识的泄露而导致更不安全)

直接用url传递用户token或者SESSION_ID

用mac地址

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn