00:00
咱们去看一看啊,那么这里边儿自然呢,还是以什么呢?以我们这个可爱的零六这个网站为例,好老六出来在这儿啊,在这儿。那么现在呢,先把老六这个网站交给to干来进行管理,Run一下艾迪figure,然后呢,把19抹掉,出我们说的这个老六好保存,然后里边呢,给网站起个别名,就叫做my wife好了,通知idea叫什么呢?网站里边帮我做同步更新行了,那么启动,那么首先先看第一个问题,什么叫做恶意登录呢?什么叫恶意登录啊?诶各位,我们说好人去你家的时候,他是不应该先敲门啊,敲门之后干嘛呢?去跟你讲我是谁,然后呢,由你来决定他能不能进来。那么在成语中,我们说正常的用户他应该干嘛呢?他应该是通过登录验证来进入到系统中,对不对?好了,那么我是一个用户,我写了说我叫做老杨,密码呢啊不跟写,虽然之不让记不记,哎,这属于正常的,那么恶意登录指的是什么呢?恶意登录指的是我们的用户他呢,通过在地址栏中书写我们的这个资源文件地址,来避过们的这个登录,直接访问系统内部的这个这种行为它叫做恶意登录,比如说我一看进不去,那怎么办呢?毕竟咱是做程序的呀,那么在这里边我猜,我猜网站里边可能有一个叫做inex.H文件,我写上index文件好。
01:53
我是不进来了。恶语当力啊,说是个门有屁用啊,我翻墙进来的,那在里边,比如说我在里边,我猜你里边可能有个资源,其名称叫做u fine啊,恶意登录,通过地址栏直接向服务器索要当前网站中的这个资源,而避过登录系统,那么这种行为叫做恶意登录,小偷啊,翻墙来看看,这是最基本的翻墙操作啊,这是最基本的翻墙操作。
02:27
好了,那么我们说呀,只要是一个网站,他就非常的恐惧什么呢?这种翻墙的这种行为。但是这个门啊,我们说对于翻墙来说几乎是形同虚设。那么该怎么解决这个恶意登录呢?有同学说上去就来讲用过率不对,他先有一个最基本的方案,什么方案呢?防止恶意登录,一个基本方案就什么呢?就是令牌机制,说什么叫做令牌机制呢?就是双岗,就是两个门卫。
03:02
首先呢,咱们给大家去说说这个双法啊怎么回事,我们画一个流程图,我们看啊在这好大家看啊,那么这边呢,是我们的这个登录页,就是我们说的什么呢?Log in啊,咱们写上log in.HL文件,那么在这里呢,我们的用户呢,需要填写其用户名称和我们相关的密码好了,然后呢,这个网页将通知浏览器把请求呢发送给谁呢?发送给我们的这个log音re就是登录验证re,好了,Log in咱们写成threat,那么在这个TH里边呢,它将判断当前用户的身份,那么这里边呢,无非是合法用户,我们系统里边有你要么是什么呢?是非法用户,那么非法用户呢?这里边我们会干嘛呢?拒绝提供服务啊,拒绝提供服务好了。
04:03
啊,然后接下来在这里边呢,是我们网站内部的其他的资源文件,诶比如说刚才的什么呢?刚才的这个user find right,诶就是我们网站的资源组件,那么我们说恶意登录呢,指的是避开这个登录验证,直接通过地址栏来访问我们网站内部资源文件,资角会有登录,那么最开始的时候呢,为了解决问题,采用我们的令牌机制,令牌机制是什么呢?简单来说就是双岗策略,两个门卫,这怎么怎么回事呢?你看啊,在登录验证这个特中,如果我们发现这个用户是合法的,那么此时干嘛呢?我们要给什么呢?给这个用户来派发,派发什么呢?一份令牌来派发一份令牌。好了,然后接下来呢,我们说这个user find出,当它呢,被调用时呢,它并不是立刻给用户提供服务的,那么在这里边他需要干嘛呢?他需要去先先去索要,索要当前用户的这个令牌好了,那么如果用户有呢?诶都有门,我我是从门岗进来的,他给我发了份定牌,那么这时候我们就提供服务啊,提供服务,那么如果没有呢,那么这个时候在这里边我们要做的是不是拒绝啊,拒绝提供服务,好,你看。
05:36
由于呢,我们的令牌呢,它只能是通过这个登录验证来发放的,所以我们。攀墙而进的这种人,他手里有没有令牌呢?没有,他虽然能找到我们的user find,但是us find发现呢,他手上没有令牌对吧?所以就可以拒绝输,诶在这儿,这是我们解决恶意登录的最基本的一个方案。
06:03
那么问题来了,各位问题来了,那么在这里边这个令牌是什么呢?令牌啊,就是一个信,令牌就是一个信,各位它可以是任意东西,那么在我们编程中的时候呢,我们一般习惯把什么作为用户的令牌呢?就是session绘画作用的对象,也就是说用户在服务端的私人储步柜啊,用户在服端私人储柜,一般来说呢,在登录过程中,如果这个用户其身份是合法的,我们就像toca去申请,申请什么呀,给这个用户啊,在服端开辟一个柜子,而用户手里所握着这个柜子编号就是一个令牌,诶所以在这里边呢,我们写上合法用发令台就是一个柜子HTP咱们写上啊写上这个session,好,我们看啊session等于什么呢?Request啊,Get session午餐,我为什么在这里边用get session午餐呢?
07:09
我们说过什么时候用get赛午餐呢?当你发现这个用户身份已经是确认的时候。那我们这是不是有一个前提条件啊,如果判断用户身份是合法的时候,那么在这里边该成午餐行了。然后看这,当这个user find被访问的时候,他得去要这个用户的硬盘,那么他怎么样呢?在里边他怎么样呢?想想你看能来访问user fund serve用户啊,他可能是这种合法用户,也可能是什么呢?非法用户,那我们说在我们无法判断来访用户身份是否合法之前,我们要拿到用户的session该怎么办呢?在这里边用的是什么呀?Get session fo看到没有来索要,说这哥们有柜子给我,没有返回一个now。
08:06
哎,当了一个当,那么反过如果是当,就说明这哥们没有令牌,我们在这里边就可以拒绝服务了,那么实际上来说呢,各位,实际上来说在真实添加过程中,在一个网站里边,只有我们在log going serve里边,当我们判断用户身份合法的时候,才可以用get session午餐。而在我们当前网站中其他的资源文件里边,由于我们不知道这个用户是合法登录过来的,还是我们说的这个恶意恶意登录过来的,所以在取session的时候都有get false,换句话说吧,在一个网站里边get session无参这个方法呢,它能在哪些地方出现呢?就一个地方。登录验证,当用户是什么呢?当用户身份证合法的时候,派发一个,这是解决恶意登录的最基本的一个方案,令牌制令排制行了,那么现在呢,咱们就去给大家演示一下,看看这事儿怎么做啊,好了,我们进到零六的这个项目中,先把这个先删掉啊,这这应大家我们明后天讲啊。
09:19
好干嘛呢,我们先跑到这个登录验证里边来。修改一下代码你看啊。说result等于一的时候,证明用户是存在的,那么在这咱们看一下啊说呢,那么啊在啊在判定,判定这个来访这个用户他的身份合法后,那么干嘛呢?要通过请求对象向tomcat向向我们这个tomcat啊去申请,为当前啊为我们当前的这个用户来申请什么呢?申请一个私人处分,好,那么这边就写上了request点什么呀,Get session独餐行了,然后这边接收一下,实际上也可以不接收,对吧,接收下写吧,这样you动仪式感,在这儿加一行命令,然后呢,我们跑到user find s里边来,你看在user fund里边来,这是什。
10:27
对吧,他要提供的服务,查询服务,好,先剪切走,剪切走,我们现在知道了,来我这房子可能是好人,又能是坏人,那怎么办?哎,在这里边我们说什么呢?索要索要我们说什么呢?索要啊,咱写上索要,索要索要什么呢?当前这个用户,当前用户他呀,在服务端的什么呢?这个HP session怎么样?在里边我也不知道是好人坏人啊,那么我要的是得这么样,Record get session false get false是什么呀?我猜咱们班有同学不知道啊,白讲,如果当前用户在服务端有柜子,把柜子返回,如果当前来访用户在服务端没有柜子,返回一个now。
11:19
来,该背要背啊,不背哭吧你啊,写上at session好了,那么也就是说当这个命令执行时,这可能是一个柜子,也可以是当好了我们判断一下,如果我们发现诶来找我的这个哥们儿,他竟然在我负端没有柜子,没有柜子那么他就是非法用户了,非法用户在这里边我们是不会伺候的,那么后面程序不走了,Return,然后在这里边干嘛呢?我们写上re response response.send readdire,我们把什么呢?把我们说的这个log英登录失败这个文件地址发给万琦,告诉万什么呢?你需要他了,别找我了,在这儿好了。那么如果这判断没有执行呢?在这里边我们才提供这个服务。
12:15
查询。两把锁,我我我是门卫,我在门口为合法用户呢发令牌,他进来之后找到你了,你呀,不是立刻为他服务的,而是干嘛呢,现在的你有没有老杨给你发个平台,有提供服务,没有滚蛋。这是用来。用来防止恶意登录过程中最基本的一个方案,好不好使呢?那走起来你看就知道了,我在这个什么呀,我在这个U里边,我先设个断点啊,先设个断点行了啊,看好了,我们把程序启动一下走运行。
13:01
稍等片刻。好,启动了,那比如说我是一个幻影,我是个幻影啊,那在这里边啊,我就要恶意登录一下,我写上user什么呀,Find,好大家看在这,那么我能不能访问这个资源文件啊,能,但是有个问题,我此时此刻在服端有没有柜子呢?我可没有啊,我可没有柜子恶意登录好发请求,那么现在user find被调用了。那他干嘛呢?他说先别着急,让我给你提供服务,我先问问tomcad,你在我们这有没有柜子啊?我有吗?很尴尬的,我没有柜子,看到没有,我没有柜子人说,哟,你这没有柜子,咱不敢给你提供服务。那么此时他把这个地址打到了我的什么呢?打到我的这个响应头中,交给我,说你找他去问问吧。他看这诶啊ing erroring error写错了,这没什么大事啊,Log log。
14:09
哦loin没错呀哦,哎呀呀呀呀呀呀,牙疼忘写网站名了,卖卖啊在这行了,这是恶意帮助,那我现在我好好进来,我好好进来啊说我啊是卖自己人123看这那么再进行处理的时候,看F12键啊F10键进去我登录成功了,那我登录成功之后,别忘了这个时候我的服务端我是有个柜子,并且他们会干嘛呢?会把这个柜子通过响应头打到我德万其中,看这是我的柜子编号A2D。那么现在我去访问用户查询,走请求过去了,好,用户查询说道,别急,我问问有没有柜子,让大家知道在我发起这次请求的时候,我的请求投里边会把我的session ID发过去,所以盖呢,一看就知道我是有身份的人。
15:12
贵多少呢?什么5D那个东西你看看啊。这里边看到没有A25D哦,他说你有柜子,来来来给你提供服务,它输出你看就可以了,那么这是我们干嘛呢?这是我们来防止用户恶意登录的一个最基本的操作,令牌制,当然这个令牌可以是个规则,也可以是其他的东西都行啊都行啊好了大家看看在这儿,那么这时候我们说了说了啊诶那么这是不是就能解决我们的丛林,呃,解决我们的这个恶意登录呢?它可以部分解决,但是还有缺点,那它有什么缺点呢?各位它有什么缺点呢?嗯,不急。
16:00
我们在这里边啊,先休息一下,那么这是我设的流程,给我看这一种设计方案中的缺点,等一下我们微信语音直接找同学聊给我聊缺点看到没有。
我来说两句