您的位置:首页 > 其它

关于验证用户名是否存在的问题

2008-12-19 23:08 405 查看


[align=center]【原创】验证用户名是否存在的问题[/align]

今天新开了个工程,在写注册部分的时候,突然想到个问题,在此记下,作为以后的提醒

问题如下:

如今不管是注册邮箱,论坛,还是QQ,当我们注册的用户的时候,都会先验证一下用户名是否存在
,当验证的时候无所谓就是去数据库查询是否有该名字。

现在问题来了,这时候的验证只是个查询操作,并没有更新数据库中的数据,但别忘了作为一个网络应用,你在注册的同时,别人也在注册,如果恰巧去验证同一个名字的合法性,专业点来说,就是第二个会话提交了相同的查询参数。因为数据库的数据没有更新,第二个用户(会话)验证相同名字的时候也会“合法”。

这时候在你真正submit的时候,后提交的那个用户(会话)还是会提示用户名存在等信息,这也就是失去了当初验证用户名那步的意义了。

当然解决这些问题有很多办法,表单分步提交,使用缓存机制等等

以上问题测试了一下163
126 sina
的邮箱注册

sina做的还不错,虽然也会出现以上的问题,但是他把除了账号密码的其他资料应该是放到隐藏域或是缓存等地方了,让我们只需要再改下用户名就好

126的相对不好点,除了验证码过期刷新无效外,还在出现以上问题的时候转向文件无效~(可能他们就没考虑到之前已经验证过了,后面的这点“意外吧”)

其他一些小网站就不说什么了,基本都是要重新再填次资料~

以上对各网站的看法,只是作者作为学习中的资料来使用,不作为对网站实际设计的好坏评价。特此声明~

因为是东西都会有毛病,自己以后注意就是了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: