今天下午讨论了一个客户登录界面,大家都知道现在一个注册页面一般要求交互性强,注册比较简单的。但是由于涉及的网站没办法达到注册简单,整个网站的注册流程要7步。在首页注册的时候,要求用户输入邮箱,然后收到邮箱激活码,也就是一个网址后才可以注册第一步,这个就是海内网的注册风格,但是有一个问题会出现,就是网络延迟,或者用户根本没办法收到邮件的情况。(这里顺便问下asp.net有没有什么好的邮件收发方法,我用的发给126的邮件速度很快但是发给yahoo的几乎都收不到)但是为了保存信息,我在用户点第一步的时候就已经入库了。也就是存在很多因收不到邮件而变成垃圾注册信息。因此,后面打算改为验证码发到邮件,同时把验证码保存在数据库。在用户再次登陆网站的时候,判断用户是否已经处于激活状态,如果不属于激活状态,则提示用户登录邮箱去获得激活码,或者联系客服来获得验证码在激活。
    一个网站的注册页很关键,因此,拿出来讨论下,希望论坛的老大们,给点意见。这样合理吗?或者是否还有更好的解决方式。

解决方案 »

  1.   

    注册流程如果是7步的话,要是我,我绝对不会去注册这个东西。
    建议分两步入库:一个tempDB存放为激活的用户,激活的用户存在正式的DB中。
    tempDB定期清除,例如一周,这样可以保证数据库文件中的垃圾比例在一个比较低的程度。
    同时对于存放在tempDB中的用户,仅拥有最低权限,并给予提示进行激活。
      

  2.   

    注册流程要步骤化,尽量简单
    asp.net邮件收发可用Jmail
      

  3.   

    注册要简单,通过AJAX实现无刷新的验证表示,比如用户ID是否存在,密码强弱,密码和密码确认相符等。
      

  4.   


    邮件:http://topic.csdn.net/u/20080301/17/18568a4c-0c34-4bad-b0c5-08bc16a297ef.html注册:一般是这样的,先把这个用户的所有注册信息记入数据,有一个字段(例如IsLock)来专门记录这个操作isLock默认=1(也就是true) 发一个加密了的邮件例子如
    www.baidu.com/lock.aspx?id=123456(这只是个没有加密的例子)去访问网站。一访问后ID=12346 的这个用户的islock=false (就激活了)还可以根据 registertime(注册时间来看) 如果长时间没有激活就用户你就可以 delete 了
      

  5.   

    那么tempDB不就也要建的和原表的注册一样的。然后上面建立一个触发器,一旦表里的一个激活状态的标志被触发,就把这条记录插入到,原表中。
    是这样吗?
    那如果,我直接在原表上建立多一个字段不是更方便吗?
      

  6.   

    想法可行 。邮箱好用 ,那一切ok。
    邮箱不好用,和客服要验证码,用户再输入 ,那还是不知道,到底用户的邮箱好用不好用,存在不存在 。因为你们需要邮箱激活的目的,就是为了给客户发邮件 。建议客服可以用另一个stmp服务器手动发激活邮件 ,比如 ,如果程序用的是你们自己的公司邮箱 ,克服可以用163的 ,这样, 保证以后的利益  。
      

  7.   

    注册功能的好与差的分别,在于是否符合浏览者的心理。
    先不从浏览者心理考虑,单纯从功能上考虑,
    自我感觉,邮件验证注册,可以防止浏览者恶意注册,减少数据库服务器的负担,
    输入验证码,也可以防止一部分恶意注册,但此方法比发邮件简单许多,也不会想邮件注册那样 用户收不到邮件,从浏览者心理考虑,
    肯定是越简单越好 ,但也不能太过简单,
    一些必要的服务标准+注册信息页面+验证码+提示步骤消息
    足以满足可以的需要,
    有的没用过计算机的人,注册你们7步网站+Email发,也许他们都看不懂是什么意思,
    功能强,也没什么用,反而加大了浏览者的反感情绪。好了就说到!