博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
登陆系统的设计2 - 登陆页面的三种形式
阅读量:4509 次
发布时间:2019-06-08

本文共 1060 字,大约阅读时间需要 3 分钟。

制作登陆系统有三种方式:1、使用HTTP认证;2、使用COOKIE;3、使用SESSION。

下面的来简述以下三种认证方式的使用方法以及特点。

1、HTTP认证

这种方法可谓简单粗暴,安全性不太好说(没看到哪个互联网上的网站采用这种方式登录),一般常见于路由器的管理页面登录。

当然使用方法也很简单,在需要登录(加密)的页面设置一个发送HTTP认证的首部就可以了。

使用效果如下:

认证失败返回错误信息。

 

2、使用COOKIE

COOKIE是储存在浏览器的数据。可以根据COOKIE来储存登录信息,即有COOKIE代表登录了,没COOKIE代表没登录,注销的时候销毁COOKIE即可。

理论上讲,只要用户不清理COOKIE信息,COOKIE数据可以永存(只要把时间设置为无限即可)。

COOKIE的好处是你可以设置一个合理的时限来让用户不必频繁的重复登录又能恰到好处的保护隐私。

例如30分钟内用户不必反复登录,30分钟后(用户可能已经离开)又自动登出。

设置COOKIE只需要调用setcookie()函数即可。

验证是否登录只需要检查有没有COOKIE值。

注销也非常简单,COOKIE有时限会自动销毁,如果希望立马销毁只需要把时间改为过期即可。

具体使用需要设计一个登陆界面的表单,用户提交用户名和密码,php脚本把用户提交的用户名密码拿到数据库进行比对,如果比对信息正确,就把用户ID(或者其他一些信息)传递到COOKIE中储存,这样就知道用户已经登陆了。

在需要登陆的页面,例如用户的个人信息设置页,只需要检查有没有相关的COOKIE信息。

 

3、SESSION

SESSION可以理解为建立在浏览器和服务器之间的一个会话,SESSION是储存在服务器上的临时数据,当关闭浏览器(即会话关闭)的时候,该临时数据会被自动销毁。

意思就是:你关闭了浏览器,你就得重新登录。

SESSION跟COOKIE很相似,只是COOKIE的信息储存在用户端,SESSION的数据储存在服务端,COOKIE可以设置生命时间,而SESSION的生命随会话的终止而终止。

所以SESSION的用法跟COOKIE也很相似,只是缺少了时间参数。

SESSION跟COOKIE如此相似,所以判断是否登录的代码也基本相同:

如果想要在关闭浏览器之前就注销,需要做以下工作

转载于:https://www.cnblogs.com/ecstasy/p/3317438.html

你可能感兴趣的文章
python爬虫之scrapy的pipeline的使用
查看>>
mysql 1366错误
查看>>
mfc 导出数据保存成excel和txt格式
查看>>
让Android中的webview支持页面中的文件上传
查看>>
UML基础
查看>>
Oracle 从Dump 文件里提取 DDL 语句 方法说明
查看>>
实现winfrom进度条及进度信息提示
查看>>
关于Spring.Net的singleton和singlecall的讨论
查看>>
vue项目目录结构
查看>>
程序员自学路上的一些感悟
查看>>
使用x64dbg分析微信聊天函数并实现发信息
查看>>
robotframework-selenium2library各个版本
查看>>
插入排序
查看>>
LeetCode全文解锁 √
查看>>
[BZOJ 1566] 管道取珠
查看>>
[Codeforces 1060F] Shrinking Tree
查看>>
Winfrom 桌面弹窗拦截 关闭进程简易程序 源代码下载
查看>>
NGUI Atlas Panel和Depth的关系
查看>>
推荐一些相见恨晚的 Python 库 「一」
查看>>
POJ 1062 昂贵的聘礼 (带限制的最短路)
查看>>