登录模块在互联网中的发展阶段

“欢迎勾搭心月小姐姐,了解近期开班”

网站登录模块作为网站的入口,涉及到很多安全问题,随着互联网等技术的不断发展,对于安全的重视程度也越来越高,下面就来看一些登录模块发展的不同阶段。

第一阶段:单纯的用户名和密码

在开始阶段,或者说是互联网刚起步的时候,登录模块一般还有用户名和密码这两个字段,而且对于用户名和密码的复杂程度限制也不是很多,加密算法也是比较弱等。

第二阶段:增加有效的验证码

在这一阶段,大家对安全问题更加重视,为了使应用安全级别更高,所以验证码开始流行,在这一阶段发展的过程中,可以分为以下四个小阶段:

1.登录模块含有验证码,但是验证码只在前台进行校验,后台不做任何校验,效果并没有很明显。

2.验证码在后台校验,但是验证码的校验机制比较简单,可以通过截取其他请求读取到验证码,在进行暴力破解的时候依然可以使用读取到的验证码。

3.随着验证码的不断发展,出现了打码这类职业,这是验证码发展的新一阶段。

4.验证码机制不断增强,出现利用工具很难破解的情况,如:一个图片上有红色和黑色的字,验证码是让你打出红色的字;给你几个字,让你按照相应的顺序打出。

第三阶段:预防SQL注入等绕过漏洞

其实在登录模块不断发展,安全级别越来越高的情况下,攻击者的技术也在不断发展,SQL注入是一个很明显的注入攻击的例子,危害性很大,常见的SQL注入命令有:and ‘1’=’1’、or ‘1’=’1’等。

第四阶段:完善验证码形式,增加失败次数校验

随着暴力破解等越来越多,于是增加验证码失败次数校验这一机制流行起来,主要有两个小阶段:

1.登录失败次数字段写在Cookie里,例如把FailedTime=4写在Cookie中,这样就带来一个问题,攻击者可以通过截取Cookie来更改失败次数,也可以一直进行暴力破解。

2.接下来就是现在比较流行的两种方案了,将登录失败次数写在session中和写在数据库里,这两种各有千秋,目前都应用比较广泛。

写在session中失效比较高,比较安全,但是没有写在数据库中安全;写在数据库中很安全,但是会导致处理速度相对较慢。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310B0O37H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券