第12章 用户管理及用户登录
- 在许多网络应用系统中都包含登录用户的权限控制,具有不同权限的用户登录网站时可以执行的操作是不一样的。例如在论坛中,斑竹能够删除所有用户的文章,但是普通用户只能删除、修改自己发表的文章。这就需要设计用户管理及用户登录模块。本章将介绍用户管理及用户登录是如何实现的,下面首先介绍一些关键技术的实现。
12.1 关键技术的实现
- 一个专业的用户管理及用户登录系统需要涉及到安全性、有效性、合法性等多个方面的内容。在这一节,将主要讲述一个系统要达到安全有效需要用到的技术,包括验证码技术、md5加密技术和客户端服务器端验证技术。
12.1.1 验证码简介
- 1.验证码的作用
- 2.验证码的实现流程
- 3.验证码的程序原理
- 4.验证码图像的生成
- 5.验证码中干扰元素的加入
12.1.2 md5数据加密简介
- MD5是采用单向加密的加密算法。MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
- Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一个128bit的大整数。
- 现在许多网站上都使用MD5对用户保存在数据库中的信息进行加密。主要是因为MD5具有几个很重要的特性,第一是任意两段明文数据,使用MD5加密以后的密文不相同;第二是任意一段明文数据,经过MD5加密以后,其结果永远不变;第三是使用MD5加密的数据破解非常不容易。
12.1.3 表单验证的实现
- 在Web应用程序中,经常使用表单来提交用户输入的信息,例如用户登录或注册时,需要输入用户名和密码。如何保证用户输入信息的合法性,这就需要对表单提交的用户输入信息进行验证。表单的验证是开发Web应用程序中经常遇到的问题。用户可以验证表单的某些项是否填写、是否为数字、是否符合某一格式、是否是指定的位数等等。表单的验证一般分为两种方式:客户端验证和服务器端验证。
- (具体内容请参照本书)
12.1.4 表单递交的合法性检测
- 在某些网站注册时,要求用户输入一定长度的用户名、密码和Email等等。网站对用户名长度的检测和Email格式的检测就属于表单递交的合法性检测的范围。表单递交的合法性检测还包括输入信息是否包含某些字符、是否全是数字、是否全是字母等等。下面定义了几个合法性检测的过程。(具体内容请参照本书)