登陆模块的描述

来源:互联网 发布:mac php 版本 编辑:程序博客网 时间:2024/06/05 22:55
核心点:  在做登录模块时,为了防止一些用户暴力破解,添加了验证码功能;为了防止一些用户不经过用户名密码的输入就直接访问后台资源,添加了拦截(过滤)器功能;为了避免用户在登录的时候进行SQL注入,欺骗服务器,我们在进行了JS端和JAVA端的过滤功能并且采用?传参来代替拼接字符串;为了保证用户密码信息的安全性,添加了MD5加密功能。   用户登录的判断流程:  首先判断验证码是否正确,验证码生成后是保存在session中的,将登录页面中用户所填写的验证码与session中的进行对比,如果一样,进行判断用户名密码,反之,提示验证码错误重新输入。  验证码正确后,判断用户名,将用户填写的用户名与数据库中的用户名进行比较,如果正确,进行判断密码,反之,提示用户名错误或没有此用户。  最后判断密码,密码是通过MD5加密的,在用户注册是进行了加密,将加密后的密码保存到数据库中,用户输入密码是再次进行加密,然后与数据库中的密码进行比较,如果正确,跳到成功页面,反之,提示密码错误。   验证码:  按客户需求:如果对安全要求不高的登陆,比如公司内部系统的登陆,对安全要求不高,就不需要验证码之类的功能;如果是对安全要求比较高的场景,比如互联网登陆,对安全要求特别高的,我们需要防止暴力破解,加上验证码;    使用验证码及实现验证码的思路: (1)使用验证码可以防止用户恶意登录、恶意注册和暴力破解,增加安全性。 (2)实现验证的流程:   a.生成随即的数字字母组合;  b.生成干扰码(点和线);  c.将数字字母组合存入session中  d.将数字字母点线组合起来生成图片,以流的形式输出。 (3)思路:  建一个servlet——>img标签中的src路径保证是一个图片(jpg/gif/png),其中可 以放servlet(js/action).servlet默认走的是doget(当method的上面标明是post才走post,其他的没有特殊标明的默认都是get)——>在doget方法中写一些方法,一个生成随即字母数字组合,一个生成干扰码点线,然后再将数字和干扰码组合生成图片,通过流(outputstrim)输出。生成的数字字母可以存在session中,用户登录时,先在session中判断验证码是否一致。   MD5加密:  MD5加密是对密码的保护,我们可以在登陆时在jsp页面对密码进行md5加密,同样注册时也要对密码进行加密,这样登陆时md5转码后的密码才可以对应数据库查询出的md5转码后的密码,正确匹配;对于没有登陆直接访问成功
页面,我们也需要加过滤器,过滤掉没有登陆而直接访问的请求。  MD5是一个插件,导入后在登陆和注册填写密码后,调用hex_md5(password)方法,将密码转成md5码传入后台。 作用:防止密码泄漏。   过滤器:  如果不加过滤器的情况下,用户只要知道页面路径就可以直接输入地址访问,加上过滤器后,可以防止用户非法进入登陆成功后的页面或系统。
0 0
原创粉丝点击