目前的流程是,注册页面login.aspx页面,用户通过输入用户名、密码、验证码、身份证等等信息后,通过ajax发送一个请求道后台的一个.ashx文件,然后ashx负责将用户信息注册。由于这个是已经由别人做好的,目前由我来维护,但感觉这样无法避免机器注册,但不知道有没有其他好的解决方法?

解决方案 »

  1.   

    Login页面不要用Ajax。否则验证码有什么用?
      

  2.   

    现在的验证码生成时在login.aspx中生成的,但是点击注册按钮时,是发送一个ajax请求到后台的一个.ashx文件中,如何在这个.ashx文件中得到login.aspx生成的验证注册码?
      

  3.   

    现在的问题是,login.aspx页面是由别人写的,我这里没法修改,所以需要在后台的.ashx页面中作验证,不知道可行否?难道必须修改他的aspx页面吗?
      

  4.   

    目前前台注册页面的验证都是js写的,后台的.ashx里面没有任何的验证,如果要防止机器人注册一般也需要来判断验证码是否正确,但由于流程是注册页面发送ajax请求道后台的.ashx文件中去,所以用户直接通过程序直接向ashx文件post相关注册数据就注册了。
    所以请教目前这种情况的话,如何加验证,或者是不是必须修改这种模式,不能用ajax请求?
      

  5.   


    你的这个验证码不应当送到客户端,而是把验证码图片送到客户端,验证码放在session中,注册时,客户根据图片输入验证码(验证码图片的生成方法做的好的话。这个工作是机器注册很难做到的),和用户名密码一起回送服务器端,服务器先判断用户回送的验证码和session中的是否一致不一致的就认为是不全法的注册了。所以用验证码就是为了防止机器注册的,你的问题有点奇怪。
      

  6.   

    验证码也很难逃避注册机,我干脆用EMIAL发送验证码,把生成的验证码保存在VIEWSTATE,并发送给用户的EMAIL,用户取回验证码再回到页面输入进行验证,验证通过再提交数据库。数据库EMAIL是唯一的,这样可以避免注册机的注册。
      

  7.   


    可以用ajax 的。验证当前sesion就是验证验证码的内容。
      

  8.   

    避免机器注册是很难的。比如CSDN   Discuz 的论坛经常被弓虽女干。
      

  9.   

    一般的Ajax,他都不触发页面刷新,也就没有对产生验证码的代码重新刷新(重新执行)。。而且,我根本就不赞同Login页面还去搞个什么Ajax(ashx)登录,有什么用户体验值得注意做呢。所以我建议,就单个页面做登录。除了上面高歌说的,实在不行,就用csdn的邮箱激活验证。
      

  10.   

    注册页面Ajax?  这不是脱了裤子放屁錒。 晕。 难道登陆后就不转向了錒??
      

  11.   


    这个是注册页面,用户不用登陆就可以访问。用户浏览该登陆页面时,session里应该存些什么内容啊?
    另外如果1万人同时访问注册页面,后台是不是也要1万个session,服务器不是很忙吗?
    网页的东西做的不多,请指教。
      

  12.   

    在.ashx文件里的注册方法前判断一下验证码就行了
      

  13.   

    不过一般都是用session来做吧,
    传给session后在一般处理程序里面处理验证码问题
      

  14.   

    与ajax无关,我提倡复杂一点的注册页用ajax防止注册失败需要重新填写信息,对于服务器也可以少些负担
    1.没加密的验证码不能保存在客户端
    2.验证码图片字符需要变形处理,有很多方式
    3.上面有人说了,验证码实在不行用email验证
      

  15.   

    第一,图形验证码
    第二,ip监控,比如某个IP一天只能注册多少个ID