同样还是将用户的认证信息保证在一个cookie中,具体如下:
创新互联成立与2013年,先为尼玛等服务建站,尼玛等地企业,进行企业商务咨询服务。为尼玛企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1.cookie名:uid。推荐进行加密,比如MD5('站点名称'+userid)。
2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位+salt",salt是保证在服务器端站点配置文件中的随机数。
这样子设计有以下几个优点:
1.即使数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保证在服务器站点配置文件中而非数据库。
2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。
3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。
4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者窥探到自己的cookie值后作为后门,长期登录。
理论上可以,
新建一个登陆信息.php,然后include这个文件,
然后每次登陆用户,你就把他的标识信息保存到这个文件中,
然后每次根据文件中的是否含有某个用户的标识来判断他是不是在线,
不过这样有点傻,为啥不用session呢,
防不了。只是别人没登录的话,进入不了主页面。sql注入是别人利用你的sql语句漏洞来进行删除操作。还有如果你sql语句写的不严谨,别人用万能用户名叶可以进去,为了防止sql注入可以用pdo连接数据库,用里面的prepare预处理来使用占位符,绑定参数。这样别人就进不去了,防止恶意攻击破坏。