前端怎么解决cors攻击(Token流程是什么怎么解决超时问题)
Token流程是什么?怎么解决超时问题?
令牌验证流程:
1.背景介绍
传统身份验证方法
HTTP是一个无状态协议,也就是说,它不 我不知道谁在访问这个应用程序。这里我们把用户看成一个客户端,客户端使用用户名和密码认证通过了,但是下一次这个客户端发送请求的时候需要再次验证。
解决方案是,当用户请求登录时,如果没有问题,我们会在服务器上生成一条记录,可以说明登录的用户是谁,然后把这条记录的ID号发送给客户端。客户端收到后,将这个ID号存储在一个Cookie中,下次用户向服务器发送请求时,可以随身携带这个Cookie。这样,服务器将验证这个Cookie中的信息,看是否能在服务器上找到相应的记录。如果可以,说明用户通过了认证,然后将用户请求的数据返回给客户端。
以上是会话。我们需要在服务器上存储为登录用户生成的会话。这些会话可以存储在内存、磁盘或数据库中。我们可能需要定期清理服务器上的过期会话。
基于令牌的认证方法
使用基于令牌的认证方法,不需要存储用户 服务器上的登录记录。一般流程如下:
客户端请求使用用户名和密码登录。
服务器收到验证用户名和密码的请求。
验证成功后,服务器会颁发一个令牌并发送给客户端。
收到令牌后,客户端可以将其存储在Cookie或LocalStorage中。
每次客户端向服务器请求资源时,都需要携带服务器颁发的令牌。
服务器接收请求,然后验证客户端请求中携带的令牌,如果验证成功,则向客户端返回请求的数据。
传统身份验证方法
HTTP是一个无状态协议,也就是说,它不 我不知道谁在访问这个应用程序。这里我们把用户看成一个客户端,客户端使用用户名和密码认证通过了,但是下一次这个客户端发送请求的时候需要再次验证。
解决方案是,当用户请求登录时,如果没有问题,我们会在服务器上生成一条记录,可以说明登录的用户是谁,然后把这条记录的ID号发送给客户端。客户端收到后会将这个ID号存储在一个Cookie中,下次用户向服务器发送请求时可以带上这个Cookie,这样服务器就会验证这个Cookie中的信息,看看在服务器上是否能找到对应的记录。如果有,如果有,服务器可以。数据被返回给客户端。
以上是会话。我们需要在服务器上存储为登录用户生成的会话。这些会话可以存储在内存、磁盘或数据库中。我们可能需要定期清理服务器上的过期会话。
基于令牌的认证方法
使用基于令牌的认证方法,不需要存储用户 服务器上的登录记录。一般流程如下:
客户端请求使用用户名和密码登录。
服务器收到验证用户名和密码的请求。
验证成功后,服务器会颁发一个令牌,然后发送给客户端。
收到令牌后,客户端可以将其存储在Cookie或LocalStorage中。
每次客户端向服务器请求资源时,都需要携带服务器颁发的令牌。
服务器接收请求,然后验证客户端请求中的令牌,如果验证成功,则向客户端返回所请求数据切片的来源。
最早的Tiles是在Struts1.1中组装的,主要目的是使用多个jsp页面作为新页面功能的一部分,然后将它们组合成一个最终的呈现页面。通过这种,可以方便地更改和维护页面的功能。
现在Tiles已经作为Apache的一个独立开源项目维护。
如果你发现自己在每个页面上写了三行相同的JSP代码,或者如果你想轻松定义一个复杂的模板布局,那么我相信学习Tiles框架会对你有所帮助。
2.知识分析
传统身份验证方法
HTTP是一个无状态协议,也就是说,它不 我不知道谁在访问这个应用程序。这里我们把用户看成一个客户端,客户端使用用户名和密码认证通过了,但是下一次这个客户端发送请求的时候需要再次验证。
解决方案是,当用户请求登录时,如果没有问题,我们会在服务器上生成一条记录,可以说明登录的用户是谁,然后把这条记录的ID号发送给客户端。客户端收到后,将这个ID号存储在一个Cookie中,下次用户向服务器发送请求时,可以随身携带这个Cookie。这样,服务器将验证这个Cookie中的信息,看是否能在服务器上找到相应的记录。如果可以,说明用户通过了认证,然后将用户请求的数据返回给客户端。
以上是会话。我们需要在服务器上存储为登录用户生成的会话。这些会话可以存储在内存、磁盘或数据库中。我们可能需要定期清理服务器上的过期会话。
基于令牌的认证方法
使用基于t的Oken的认证方法不需要存储用户 服务器上的登录记录。一般流程如下:
客户端请求使用用户名和密码登录。
服务器收到验证用户名和密码的请求。
验证成功后,服务器会颁发一个令牌,然后发送给客户端。
收到令牌后,客户端可以将其存储在Cookie或LocalStorage中。
每次客户端向服务器请求资源时,都需要携带服务器颁发的令牌。
服务器接收请求,然后验证客户端请求中携带的令牌,如果验证成功,则向客户端返回请求的数据。
传统身份验证方法
HTTP是一个无状态协议,也就是说,它不 我不知道谁在访问这个应用程序。这里我们把用户看成一个客户端,客户端使用用户名和密码认证通过了,但是下一次这个客户端发送请求的时候需要再次验证。
解决方案是,当用户请求登录时,如果没有问题,我们会在服务器上生成一条记录,可以说明登录的用户是谁,然后把这条记录的ID号发送给客户端。客户端收到后,将这个ID号存储在一个Cookie中,下次用户向服务器发送请求时,可以随身携带这个Cookie。这样,服务器将验证这个Cookie中的信息,看是否能在服务器上找到相应的记录。如果可以,说明用户通过了认证,然后将用户请求的数据返回给客户端。
以上是会话。我们需要在服务器上存储为登录用户生成的会话。这些会话可以存储在内存、磁盘或数据库中。我们可能需要定期清理服务器上的过期会话。
基于令牌的认证方法
使用基于令牌的认证方法,不需要存储用户 服务器上的登录记录。一般流程如下:
客户端请求使用用户名和密码登录。
服务器收到验证用户名和密码的请求。
验证成功后,服务器会颁发一个令牌,然后发送给客户端。
收到令牌后,客户端可以将其存储在Cookie或LocalStorage中。
每次客户端向服务器请求资源时,都需要携带服务器颁发的令牌。
服务器接收请求,然后验证客户端请求中携带的令牌,如果验证成功,则向客户端返回请求的数据。
3.常见问题
基于服务器的身份验证方法暴露的一些问题
每次经过身份验证的用户发出请求时,服务器都需要创建一个记录来存储信息。当越来越多的用户发送请求时,内存的开销也会增加。
2.可伸缩性:在服务器中使用Seesion在内存中存储登录信息,伴随而来的是可扩展性问题。
(跨域资源共享):当我们需要跨多个移动设备使用数据时,跨域资源共享会是一件很头疼的事情。当使用Ajax从另一个域获取资源时,可以禁止请求。
4.CSRF(跨站请求伪造):当用户访问银行网站时,很容易受到跨站请求伪造的攻击,并可用于访问其他网站。在这些问题中,可扩展行是最突出的。因此,我们有必要找到一种更有效的方法。
第四步:解决方案
基于令牌的认证过程如下,:。
1.用户通过用户名和密码发送请求。
2.程序验证。
3.程序向客户端返回一个签名的令牌。
4.客户端存储令牌,并在每次发送请求时使用它。
5.服务器验证令牌并返回数据。
令牌有一定的时间限制。到期后,您需要重新进行身份认证才能登录并获得新令牌。
移动客户端登录服务器时,需要提供包含令牌的认证,服务器需要向通道认证包含令牌的认证信息。如果通道返回有效,则移动客户端被认为是合法的。
在这个过程中,经常会断开连接,然后重新连接。每次重新连接过程相当于登录服务器一次,服务器会向通道服务器认证令牌。但由于令牌的时效性,一段时间后断开的重新连接会被拒绝。
一种解决方案是:每次断开连接重新连接时,登录服务器,申请新的令牌;;另一种是:当服务器反馈是令牌已经过期,那么通知客户端再次从通道服务器获取,然后断开连接,重新连接新的令牌。相对于可能的频繁获取令牌,更倾向于第二种方法。从体验来看,大部分代币的时效都是按照小时来计算的。
推荐阅读
-
手机自带音乐播放器怎么删除(苹果控制中心音乐歌单怎么删)
苹果控制中心音乐歌单怎么删?方法/步骤:1.选择控制中心然后打开手机设置刚刚进入界面,你选择控制中心点击进入。2.选择类型自选完全...
-
js中变量不加var是全局的吗(JS代码中如何使用局部变量和全局变量)
JS代码中如何使用局部变量和全局变量?局部变量是在函数内声明的,全局变量是在模块内声明的,也可以举个简单的例子vara10声明一个...
-
怎么知道一个人最近行踪(支付宝怎么查个人活动轨迹)
支付宝怎么查个人活动轨迹?1.直接进入到支付宝账户后,再打开底部栏的首页选项2.在上方可以找到更多的设置选项栏,点击进入后3.在最...
-
realme怎么查手机激活时间(realme如何查看第一次开机时间)
realme如何查看第一次开机时间?realme网上查询激活时间,首先目标是要不能找到IEMI号,也就是手机的专属坐骑条码,是可以...
-
ps换污渍教程(ps如何将镜子中脏污修掉)
ps如何将镜子中脏污修掉?点少的话,用污点修复画笔工具就可以了。点多的话,这个可以用仿制图章工具获修补工具。PS如何快速除掉钢琴键...
-
excel技巧跨表数据合并汇总(excel怎么跨表格求和)
excel怎么跨表格求和?excel完全不同表格求和共有分为4步,可以不在数据选项卡的合并计算选择函数和添加直接引用位置,以下是具...
-
苹果手机删除其他app还是内存不够(6s plus手机64G内存不够了怎么办)
6splus手机64G内存不够了怎么办?这个嘛第一这个可以换台诺基亚手机,这台是可以摆在二手那个平台卖了,怎么加钱买个大容量的。...
-
电脑桌面只有鼠标能动怎么解决(鼠标可以动)(电脑卡在桌面不动了)
电脑卡在桌面不动了,鼠标可以动?可能会是电脑卡死了,或则是显卡程序立刻崩溃了,我建议你自动更新显卡驱动也可以重装系统再试试。鼠标可...
-
波点音乐怎么做全屏背景(小米的MIUI 11和魅族的Flyme8哪个系统你更喜欢)
小米的MIUI11和魅族的Flyme8哪个系统你更喜欢?我用过搭载FLYM你们的手机有什么绝对不卸载的软件?有很多东西。.淘宝便...
-
火绒安全能关闭电脑的自动更新吗(系统防护失效怎么办)
系统防护失效怎么办?再点“安全和维护”。2、到里面之后,直接点击更改安全和能维护设置中。3、到里面更改后安全和以维护可以设置后,将...