ホームページ >バックエンド開発 >PHPチュートリアル >程序员 - PHP网站不用COOKIE如何实现一周内自动登录,谢谢

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

WBOY
WBOYオリジナル
2016-06-06 20:43:111450ブラウズ

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地址

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。