文档介绍:用户登录及管理是任何功能网站应用程序中都不可缺少的一个(yī ɡè)功能,是系统安全性的第一个(yī ɡè)环节。本例子详细说明如何制作网站的注册及登录验证模块。
第1页/共46页
第一页,共47页。
实例实现具体功能说明(shuōmíng):
用户登录;
用户注册;
修改用户基本信息;
修改用户密码;
删除用户;
设置用户权限;
验证码进行用户验证;
退出登录。
第2页/共46页
第二页,共47页。
技术(jìshù)要点
实现用户登录及用户管理时还应该防止用户进行恶意攻击等安全问题,为了进一步保证网站的安全,还需要使用一些辅助手段,如加密等。
避免SQL注入式攻击,可以采用以下几种方法(fāngfǎ)。
使用存储过程传参的方式操作数据库;
对用户通过网址提交的变量进行参数检查,对一些危险字符进行警告或其他处理;
对用户密码进行加密。本章采用该方法(fāngfǎ)。
第3页/共46页
第三页,共47页。
功能设计
在站点中添加(tiān jiā)几个动态页面,功能如下:
:登录主页面
:注册页面
:用户管理页面。修改用户基本信息;修改用户密码;删除用户;设置用户权限;
:产生随机数图片
:数据库操作类,封装数据库操作的类文件
第4页/共46页
第四页,共47页。
数据库设计(shèjì)
新建一pub数据库,在pub数据库中间建立一个User表,UserID设为关键字,并且设置为标识符,自动从1开始,增量为1,默认注册时role值为false。
在该表内添加一条数据(系统管理员),用户名:xx,密码(mì mǎ)(实际为1234,这个是加密码(mì mǎ)): 81dc9bdb52d04dc20036dbd8313ed0 ,角色:true
警告(jǐnggào):user是sql关键字,所以在写sql语句时候,user表应加[ ]
第5页/共46页
第五页,共47页。
建立(jiànlì)数据库连接
使用(shǐyòng)sqldatasource数据源控件配置数据库的连接字符串,。格式如下:
<add name="pub" connectionString="Data Source=.;Initial Catalog=pub;Persist Security Info=True;User ID=sa;Password=1234" providerName="" />
第6页/共46页
第六页,共47页。
设计(shèjì)数据库操作类
设计一个数据库操作类,用以操作数据库。
步骤:选中网站文件夹,添加新项,添加类,,该类已经添加了常用的命名空间,还有默认的构造函数。需添加代码(dài mǎ)如下(红色显示):
using System;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
using ;//数据库操作需引入的命名空间
using ;//MD5加密需引入的命名空间
第7页/共46页
第七页,共47页。
/// <summary>
/// DB 的摘要说明(shuōmíng)
/// </summary>
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 连接数据库
/// </summary>
/// <returns>返回SqlConnection对象</returns>
public SqlConnection GetCon()
{
return new SqlConnection(["pub"].Connecti