Heim >Backend-Entwicklung >PHP-Tutorial >php cookie有关问题?

php cookie有关问题?

WBOY
WBOYOriginal
2016-06-13 10:27:13930Durchsuche

php cookie问题???
看到网站有类似于这样的自动登录功能,我也想实现,在网上搜了一下cookie,也基本了解了,但有几个方面还是不明白,麻烦各位大牛能指点一二,小弟先在此谢过了;
1:我网站有个session,里面保存的是用户id,本来想做个隐藏表单,在用户登录时就将此id和用户名,密码三个信息都提交过去,然后判断是否有cookie,没有就写入,但后来想想,如果只有用户名和密码,不是照样可以查询出来id嘛,那我还有没有必要多弄个这个呢???

2:我看了一下人家网站的cookie,里面貌似用到了加密,看不懂,于是我就纠结了。比如说用md5()加密的话,密码数据库本来就是md5()的,那用户名呢??怎么校验是否正确啊??md5()貌似不能逆向解密的吧???

3:保存用户名和密码一般是用两个cookie吗??是保存在一个文件中的吗??

请各位说详细点,小弟在这方面是个小白,最好是说一下你们平常写类似于这样“自动登录”的流程,好让小弟有个思路,再次谢谢了

------解决方案--------------------
所谓“自动登录”就是已登录就不要再登录
这是在 cookie 中保存有历史登录信息,cookie有一个失效期,凡是没有超过时效期的内容都将随http请求一起传递到web服务器
如果网站允许“自动登录”,那么就是先判断$_COOKIE中是否存在该信息
一个网站只会在浏览器中产生一个cookie,是否保留要看失效期

cookie总是以明文方式(虽然可能是所谓的“密文”)在网络中传递

存放在互联网中的内容就是给人看的,如果你不想给人看,就不要放到网站中

------解决方案--------------------
自动登录作法很多,安全性能够保障的情况下,性能也没有问题就可以了。

1,普通SESSION机制,只不过设置了SESSION保存期更长,设置SESSION COOKIE的生命期更长。
2,自定义不可以逆的COOKIE,其实就是做签名,服务端做好相关记录即可,数据库 or 文件?随意。服务端应当做好程序逻辑,首次检测自动登录COOKIE后便应该以生命期较短的SESSION取代它,方便使用。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn