PHP之深度剖析:网站唯一登录,踢人效果
2017-01-24 14:01
190 查看
数据库加个字段,如果用户已登入,那么会在用户表中的字段记录一下!用户登入时候判断这个字段是否存在!如果存在不允许登入,如果不存在,就允许写入 cookie 并且添加数据库。
一个用户登录的时候创建一个票据,放在memcached里面(存一个键值对,key值(账号)和内容),同时把这个票据作为cookie下发下去,这个用户在访问每个页面的时候都会提取cookie里面的票据和memached里面的票据比较。这时如果其他人用这个账号在异地登录的时候,这个账号就会在memached里面更新这个账号所对应的票据,这时先登录的那个人用自己cookie里面的票据和memcached里面的票据比较的时候就不一致了,这样就把先登录的那个人T出去。
1. Session :可以使用针对某一用户的唯一标识生成Session内容,但是不要用这个数据去当做登录凭据,因为固定的就会被盗用。
2.数据库存储Status: 退出可以清空,直接关闭浏览器可以使用onbeforeunload或者onunload事件,让页面在临死前跟数据库道个别。
3.Cookie不可用:因为这个不能防止用户在不同机器上多开。
4.登录后给客户端发送一个自定的序列码,用户与该码唯一对应,只存储一个这样的码,分两个状态:1'用户没登陆,数据库中也找不到对应的码;2'用户登录,将码生成,对应数据库,持有这个码的该用户才能登陆,如果这个码存在则不重新生成。 客户端或浏览器每隔一段时间像Server发送自己的身份唯一标识和这个码,如果一段时间没发,则数据库清空该码(这相当于自造Session也可用)
一个用户登录的时候创建一个票据,放在memcached里面(存一个键值对,key值(账号)和内容),同时把这个票据作为cookie下发下去,这个用户在访问每个页面的时候都会提取cookie里面的票据和memached里面的票据比较。这时如果其他人用这个账号在异地登录的时候,这个账号就会在memached里面更新这个账号所对应的票据,这时先登录的那个人用自己cookie里面的票据和memcached里面的票据比较的时候就不一致了,这样就把先登录的那个人T出去。
1. Session :可以使用针对某一用户的唯一标识生成Session内容,但是不要用这个数据去当做登录凭据,因为固定的就会被盗用。
2.数据库存储Status: 退出可以清空,直接关闭浏览器可以使用onbeforeunload或者onunload事件,让页面在临死前跟数据库道个别。
3.Cookie不可用:因为这个不能防止用户在不同机器上多开。
4.登录后给客户端发送一个自定的序列码,用户与该码唯一对应,只存储一个这样的码,分两个状态:1'用户没登陆,数据库中也找不到对应的码;2'用户登录,将码生成,对应数据库,持有这个码的该用户才能登陆,如果这个码存在则不重新生成。 客户端或浏览器每隔一段时间像Server发送自己的身份唯一标识和这个码,如果一段时间没发,则数据库清空该码(这相当于自造Session也可用)
相关文章推荐
- 网站唯一登录,踢人效果
- DEDECMS之唯一登录,踢人效果
- 简单示例AJAX结合PHP代码实现登录效果代码
- 白宫网站改版之深度剖析
- quick-cocos2d-x教程11:实现http通信,并与网站php对接,可实现登录等常见功能
- 网站接入QQ登录(QQ互联)php版的流程
- 在网站中开发集成QQ登录源代码php
- JSP唯一登录及踢人的解决方案
- php网站单点登录--卷二(代理登录)
- PHP自学之路--- HTTP协议深度剖析
- 2013年初次接触PHP网站快速开发(2):php嵌入 对页面及浏览器实际效果的影响
- 唯一一个2013年度免费网站空间无广告无流量要求支持PHP+MySQL+ASP+ACCESS
- PHP网站入QQ互联,使用QQ号码登录网站。
- Php底层深度探索(2)---Apache运行机制剖析 王泽宾 推荐
- 十五个步骤深度剖析网站seo程度
- 简单示例AJAX结合PHP代码实现登录效果代码
- 白宫网站改版之深度剖析
- 简单示例AJAX结合PHP代码实现登录效果代码-2
- Php底层深度探索(2)---Apache运行机制剖析
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法