2023-09-16 03:13:32 | 我爱编程网
四种方式
Cookie 出现的原因: HTTP 协议是无状态的,每次请求都会建立一个新的链接,请求结束就会断开链接,优点就是可以节省链接资源,缺点就是无法保存用户状态。Cookie 的出现就是为了解决这个问题。
Cookie 是存储在浏览器中的,可以通过 Js 和 set-cookie 这个响应字段来进行设置。
cookie 的限制:
有了 cookie 之后,服务端就可以从客户端获取到信息,如果需要对信息进行验证,那么还需要 session
服务端在收到客户端的请求之后,会在服务器中开辟一片内存空间来存放 session
第一次登陆之后,下次再访问的时候就会携带这个 cookie,服务端就可以根据 sessionId 进行验证用户是否登陆(判断这个 sessionId 和服务端保存的 sessionId 是否一致,是否有这个 sessionId 的记录或者记录是否有效)
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了。
Token 是 服务器 生成的一个字符串,作为客户端请求的一个令牌。第一次登陆之后,服务器会生成一个 Token 返回给客户端,客户端后续访问的时候,只需带上这个 Token 进行身份认证
缺点
JWT(Json Web Token)
服务端不需要存储 Token 那么服务端是怎么验证客户端传递过来的 Token 是否有效的呢?
答案:
Token 并不是杂乱无章的字符串,而是通过多种算法拼接而成的字符串
header 部分指定了这个 Token 所使用的签名算法
payload 部分表明了这个 JWT 的意图
signature 部分为 JWT 的签名,主要是为了让 JWT 不被随意的篡改
签名的部分有两个步骤
一:
二:
最后的 Token 计算如下:
单点登陆指的是公司会搭建一个公共的认证中心,公司里的所有产品的认证都可以在这个认证中心中完成,一个产品在认证中心认证之后,再去访问其他产品时就不需要再次认证
这个时候,由于 a.com 存在已登录的 Cookie 信息,所以服务器端直接认证成功。
这个时候由于认证中心存在之前登陆过的 cookie,所以不需要再输入账号密码,直接从第四步开始执行
目前我们已经完成了单点登录,在同一套认证中心的管理下,多个产品可以共享登录态。现在我们需要考虑退出了,即:在一个产品中退出了登录,怎么让其他的产品也都退出登录?
原理也不难,其实就是在携带 ticket 去请求认证中心的时候,再去请求一下认证中心的退出登陆的 api 即可
当某个产品 c.com 退出登陆时
sso 就是一个集中地验证系统。你项目内请求时,向 sso 发一个请求,他给你个 token 你扔到游览器缓存里,请求的时候放在请求头里带着。和其他验证接口一样。 他好就好在,一个账号在不同系统里都可以登录,因为不同项目可以共用这个 token。并且通过 sso 集中管理一些用户信息,你可以方便的拿用户信息。
以微信为例子
Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征
在互联网的演化进程中,网页制作是Web1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。2005年以后,互联网进入Web2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化。
网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的
以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了
无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发 我爱编程网
Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近几年来备受青睐
Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念
简单地说,它的主要职能就是把网站的界面更好地呈现给用户
需要用户名跟密码登录的表单怎么做?代码怎么写<%@pagelanguage="java"contentType="text/html;charset=GB18030"pageEncoding="GB18030"%><%@pageimport="java.util.*"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01T
PHP中模拟登录的验证码问题应该如何解决基本思路:首先获取一个cookies值,再带着这个cookies去获取验证码图片,你再带着验证码值和登录数据去模拟post登录。下面是一个模拟获取验证码的。这里忽略获取cookies的过程。注意文件为UTF-8无BOM格式?phpheader('Content-Type:image/png');$url = "";//图片链接$ch
php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode
web前端利用ajax怎样储存用户登录的信息应该会。Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提
用php的CI框架怎么写登录和注册第一步:login.php//登陆方法publicfunctionlogin(){//如果用户名和密码为空,则返回登陆页面if(empty($_POST['username'])||empty($_POST['password'])){$data['verifycode']=rand(1000,9999);//生成一个四位数字的验证码
在线等!急!用PHP编写程序,实现简单的用户登录页面(1)制作login.html用户登录页面,效果图如下:login.html<formaction="login.php"method="post"name="formUser"><tablewidth="100%"border="0"align="left"cellpadding="5"cellspacing="
什么是web界面1、web界面是2015年3月电子工业出版社出版的图书,作者是BillScott,TheresaNeil。当前的Web已经进入崭新的时代,《Web界面设计(全彩)》涵盖了在基于独一无二的Web环境下、在创建丰富体验的过程中设计Web界面的最佳实践、模式和原理。2、web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思。现广泛译作网络、互联网等技
thinkphp自动验证格式ThinkPHP自动验证格式如下array(验证字段,验证规则,错误提示[,验证条件][,附加规则][,验证时间])ThinkPHP自动验证定义的附加规则如下:regex:使用正则进行验证(默认)unique:验证唯一性confirm:验证表单中的两个字段是否相同equal:验证是否等于某个值in:验证是否在某个范围内functi
2023-10-08 16:59:01
2023-06-27 20:13:22
2023-10-18 12:32:14
2023-10-18 12:28:32
2023-10-18 12:24:24
2023-10-18 12:19:20