00:00
大家好,上节课呢,我们做了一个用户注册的这样的一个界面,当然了样子比较丑啊,你可以根据自己的一个呃喜欢,然后去设置这样的页面,也可以找一个比较好的用户注册的模板去使用,都是可以的,也没关系,那这节课呢,咱们先不急着写验证,先把验证码弄出来,验证码呢对于一个网站来说是非常重要的,不光是在注册的时候需要,在登录的时候是需要的,因为我们为了是防止一些机器人,比如说注册机把你的数据库填满,对吧?那如果你没有验证码拦一下的话,那肯定别人模拟你的表单提交,用循环的方式就很容易把你的数据填满。让你的网站瘫痪,如果有了验证码这样的话,就要有人为的去参与,验证码是让人去有一个动作去手动的添一下,那机器去看不懂,所以验证码呢,我们要设计一下,那对于验证码这样的编写,当然了用到这Java的就是呃图像处理库来处理,那在学这台CE的时候,如果咱们学a wt,可以用里边的图像去处理方式去编写,当然了,我们在写项目的时候,你就算你把验证码学习再熟,写的再熟练,其实也没多大意,都是固定的一些写法,所以呢,我们没有必要花大量的时间去呃浪费在写,像写验证码啊,图像图片的缩放加水印这样功能都有现成很多固定的这样的一个类,这样呢,大家就不用说去花大量的时间去从头去学习它是怎么个原理,怎么一步一步实现的这样的过程,如果你跟对于一些专门处理一些图形的一些文件,学这个图像的库还是有必要的,但是咱们对一个大型的项目,像这样的一些小的组件是没有必要的,那咱们就直接到网上。
01:39
找一个这样的类就可以百度一下,都随便找一个,比如说搜一下。呃,扎完的。验证法。有没有下?很多啊,就原新为验证码,用体验Java实现验证码产生和验证点可看一下。
02:04
Java验证码的产生和验证,防止网站被人和黑客攻击,和我刚才跟大家说的是一样的,看一下他这里面有。看看这个类能不能用啊,这些包再来使用力包没问题,随机说。关注90高度。然后随机出这么多字符,它应该去掉了一些重复的字符。比如说呃,这里边。应该我们把零和O去掉,防止出错。然后。只是一个外的一个集合。看一下啊,图片第八的缓存什么随机数。先从颜色设置字体随机,感觉还可以,这里边有个主函数,这个里边用的,那我们复制一下这样的代码,这个类名叫靠utl使用啊。完全复制一下。在我们这里边,我们呃,新建一个,新建一个类,把这个类放进去报名了,我们这个工具包吧,com.r.util叫做使用工具包就行类,我们就叫做它这个类,它这个类名叫。
03:14
啊UCOD码使用工具啊,最后。然后我们把它过来。把他这个包去掉,不能打俩包。我试一下。再把主方法去掉,用掉,那这一个类就可以了,那我们在接着往下看看怎么应用。在JSP页面里边怎么用?用得到码,当然了,我们得用来请求。呃,P页面怎么使用,咱们一单独写吧。
04:00
生成验证码的类,我们这一下。咱们他这个叫靠,咱们靠。改。Sorry,在用户下边吧,它属于用户用的验证码,咱们就可这下边借。叫做Co s。把所有的。都干掉。他都写现成的了。嗯,这个是他原来的咱们去掉。去掉。然后这个马上咱们新的包。在咱们下边。这里边儿啊。注解,是用盖靠得到的验证码。其他的咱们也不改,咱们下这个代码。标工类生成验证码和验证码的这个图片,然后呢,放到三里边,通过这个呃里边把这个代码的字册取出来,你就保存到三里边,那记住三保存名字,保存的名字后边我们验证用禁止图片缓存,然后生成图片的类型,然后设置输出流。
05:16
把它打成输出啊没问题,然后输出流之后关闭掉。写通过这个把这个写输出,那我们直接反馈下给好看一下有没有这个验证码。我们。对。Caught。哦,我们应该是内层从下。好。
06:01
Monkey下边。Get Co。解的话说错了,来看一下啊。哦。没有写盖这个大小姐。好,验证完成了。有点看不清,刷新一下再看一下。可以,就是要用户可以看清,用央机器看不清,如果你们有一些干扰码的话,那有可能有一些图片识别的,这样的软件也能够把这样提成,呃,把这样提出来,生成我们想要的那个字符,然后一样可以攻击个网站,把你的网站好,这就是我们验证码,那我们有了这样的页证码,我们就可以回到我们的注册页面,在我们注册页面这个应该是标签全部是红的,前端的界面,然后我们到我们的。
07:06
这里边这是我们的验证码,这是我们的图片,那我们这个这个图片就不能用这个。拿过来不能用固定的这个模板里边给我们提供那图片了,我们就需要把我们这个图片改成刚才咱们写的那个那个图片就可以了,那刚才so图片叫get,这个码SR直接get就可以了,那我们再来访问一下我们的注册页面。来试一下。好,你看你验证码出来了,放在这了,如果觉得宽度高度呃有问题的话,您可以改一下那个类,或者是直接在这块用图像尺寸的方式去修改也都是可以的。如果你觉得他。宽度啊高度啊,有问题可以修改一下,比如说直接在这块可以这样wi。宽度等于比如说高度吧,高度就行,高度比如说给30,你们表单高度应该就是三十三十一一样高。
08:03
但是有点难看。到25吧。然你觉得这块的宽度高度和生成证的宽度高度你以台是一致的。你可以在这个地。高度20,你可以比如说改成25,这就可以了,宽度90啊,或者是100啊。对吧,都可以。我再刷新下。啊行,就这个样子,那每次刷新的变异化一下,有的时候有缓存,我们鼠标点击一下,要是怎么的,比如看不清,鼠标点击一下,重新过去一下,那这个该怎么写呢?我们回到我们的这个注册页面,我们加一个你这个图片,你看点击,比如说看不清我们在这块。比如说先加一个alt。这边提示一下,比如说一般都是看不清,换一张看不清。问你。
09:01
然后我们加一个,比如说点击的事件可以。点击点击的时候呢,我们嗯,就到一个JS文件里边吧去写,因为我们其他验证的都需要写,要写很长,我就不在这个页面写了,单独写一个GS文件里边,比如说呃,我在这个加载一个S,等于呃,GS叫验证,验证了点GS,比如说叫这个名写几个函里边写一下函数块,然后我们在。我们JS文件下新建一个,就或者写在其他这么多S呢,你在其他的里边写也是可以的,我们新建一个也跟原来的那个冲突也可以。嗯。新建一个他很简单。新建一个文件,我们变成叫做。
10:01
GS。好。我们在这里边,比如说呃,做一个方法,假如说叫做方法吧,就是改变的方法。然后里边传一个对象进来。那我们在。呃,注册页面里边我们就调用这个方法,OK,调用change c NG称这个方法把当前这个图片传过去,那咱们只要是改变里边图片src就可以了,也就是点击一下我就将src重新赋一下值就OK了。那我们。找到边在这里面。这里边呢,我们只需要写一条代码就可以,你比如说传的是图片对象,那我们写MG码啊,直接让这个img对象里边有一个src,直接让它等于什么,我们那个叫做get Co de,直接等于对地址,用户点一下请求对地址,点一下请求对地址,但是呢,有一个问题,问题在哪呢?
11:02
这个地址现在是固定不变的,浏览器是有缓存机制,如果是同一个地址已经请求过了,就不会再请求,所以你点击是无效的,那我们怎么能让这个地址一直发生变化,请求的还是这个,所以后边加一个参数就行了,参数呢,每次都变化,加时间也行,加随机数也行,都是可以的。那比如说我们加上。呃,用一个时间吧,给T一点,比如说get time,这样的话就让它加一个,每次时间是变化的,点击的时间是变化的,然后这个时间的动圈累加到它后边,这样的话我们地址每次的变化了,来我们刷新一下。不清换一下。点击就可以了。这验证码我们就简单的实现就OK了,那这就是验证码的一个,呃,只是放上去,我们还没有验证,那所有的验证我可以一起写,是下节课内容,在这里面每一个都验证一下,好,这节课我们先介绍到这里。
我来说两句