莣伽醣の咖啡 发表于 2012-6-14 16:25:44

谁会c#啊,求帮忙做一篇登录注册的课程设计及文档.急

一)登录即一般的后台登录界面。1. 要进行防SQL注入2. 密码进行加密3. 要产生4位随机验证码。4. 登陆成功后进入一个读取信息界面。二、注册:用户输入相关的信息能入数据库表中注册要求:1. 信息有用户名,性别,收货地址,密码,确认密码,手机,这些不能为空其中手机项可以选择是否隐藏不可见。2. 确认密码要与密码相等3. 4. 另有信息邮箱,QQ为可选项,可以为空5. 用户名只能为字母,数字,下划线开头,并且是在4-12字母之间6. 注册不能有重复的用户名

xiaoyu5062 发表于 2012-6-15 04:21:08

文档没有,部分代码有。这玩意不难,自己找个时间敲下很快就搞定了。简单讲一下:
一)登录即一般的后台登录界面。
1. 要进行防SQL注入 :参数化SQL语句基本能解决
2. 密码进行加密:   .net   framerwork 类库里有自带的加密(垃圾了一点,能凑合用)
3. 要产生4位随机验证码。   :网上查下代码,一大堆,直接拿来,JS的,C#的都有的
4. 登陆成功后进入一个读取信息界面。 : 登录后就读取?读取当前用户么?这样的话可以用Session或者Cookie保存,如果是用OOP的那就更简单了,全是对象。读取其它信息的话,在页面Load事件里写上代码就OK。
二、
注册:用户输入相关的信息能入数据库表中
注册要求:
1. 信息有用户名,性别,收货地址,密码,确认密码,手机,这些不能为空其中手机项可以选择是否隐藏不可见。:   界面设计不是问题,Update下数据库就OK,记得密码同样加密,不然回头登录验证有问题
2. 确认密码要与密码相等 : 1、前台JS判断(推荐)   2、后台代码判断
3.
4. 另有信息邮箱,QQ为可选项,可以为空
5. 用户名只能为字母,数字,下划线开头,并且是在4-12字母之间:正则表达式,不会的话网上搜索一下,也一大堆,基本的正则网上都有。
6. 注册不能有重复的用户名:1、在焦点离开用户名文本框事件 JS动态从数据库判断是否存在   2、表单提交后先判断,再执行注册或返回重新填写用户名操作。

解答Over,这些提示应该能让你独立完成这些功能。

飘渺 发表于 2012-6-15 08:08:43

{:5_97:}二楼果然不愧是2楼{:5_97:}

xiaoyu5062 发表于 2012-6-15 17:54:46

飘渺 发表于 2012-6-15 08:08 static/image/common/back.gif
二楼果然不愧是2楼

每天22更健康。{:5_109:}

飘渺 发表于 2012-6-16 10:17:24

xiaoyu5062 发表于 2012-6-15 17:54 static/image/common/back.gif
每天22更健康。

{:5_97:}偶尔2就OK了,每天2不得了哟

xiaoyu5062 发表于 2012-6-16 14:56:59

飘渺 发表于 2012-6-16 10:17 static/image/common/back.gif
偶尔2就OK了,每天2不得了哟

NONONO,每天二生活才快乐~

懑道 发表于 2012-6-17 16:53:51

本帖最后由 懑道 于 2012-6-18 15:48 编辑

首现在数据库创建一个表
防SQL注入 可以指定一个常量来指定页面
比如:
       define('SCRIPT','register');
密码加密可以用sha1这个函数

产生验证码 具体代码:
function _code($_width=75,$_height=25,$_rnd_code=4,$_flag=false)
    {
      for($i=0;$i<$_rnd_code;$i++)
      {
            $_nmsg.=dechex(mt_rand(0,15));
      }      
      $_SESSION['code']=$_nmsg;
   
      $_img=imagecreatetruecolor($_width,$_height);
      $_white=imagecolorallocate($_img,255,255,255);
      imagefill($_img,0,0,$_white);
      
      if($_flag)
      {
            $_black=imagecolorallocate($_img,0,0,0);
            imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
      }
      for($i=0;$i<6;$i++)
      {
            $_rnd_color=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
            imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
      }
      for($i=0;$i<100;$i++)
      {
            $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
            imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
      }
      for($i=0;$i<strlen($_SESSION['code']);$i++)
      {
            $_rnd_color=imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
            imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);
      }
      header('Content-Type:image/png');
      imagepng($_img);
      imagedestroy($_img);
    }




renxuekan 发表于 2012-9-11 10:44:33

SQL防注入,用存储过程来写..
页: [1]
查看完整版本: 谁会c#啊,求帮忙做一篇登录注册的课程设计及文档.急