求教一个问题,注册时检测用户名如果存在的话,不让它注册成功,下面这样写用户名存在还是能注册。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了求教一个问题,注册时检测用户名如果存在的话,不让它注册成功,下面这样写用户名存在还是能注册。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2231字,纯文字阅读大概需要4分钟。
内容图文
回复讨论(解决方案)
禁用JS 你这个代码什么用都没有
后端也得进行判断
一切客户端的校验都是可以绕过的,这事得交给服务器端来做,前端的js只是为了提供更好的体验。
在你的最终提交程序中加上用户存在性的判断就可以了。
一切客户端的校验都是可以绕过的,这事得交给服务器端来做,前端的js只是为了提供更好的体验。
在你的最终提交程序中加上用户存在性的判断就可以了。
//判断是GET方式还是POSTif(($_SERVER['REQUEST_METHOD'] == 'GET')){ $name1=$_GET['username']; $sql="select * from users where name='$name1'"; $result=mysql_query($sql); $num=mysql_num_rows($result); if($num==0){ echo '{"status": "2"}'; } else{ //echo"用户名存在"; echo '{"status": "1"}'; } }else{ $name=trim($_POST['name']); $password = trim(md5($_POST['password'])); $code=trim($_POST['code']); if(strlen($code)>1 and $code!==$_SESSION['code']){ $sql = "insert into users (name,password) values ('{$name}','{$password}');"; $res = mysql_query($sql); if($res){ echo '{"name": "'.$name.'","password": "'.$password.'","status": "1"}'; } }else{ echo '{"status": "2"}'; }}
这是后端处理程序,要怎么判断啊 你在执行 $.post() 时并没有判断 $("#namediv").html() 是否为空(用户名存在)
也就是不管用户名是否存在,$.post() 都会被执行
你在执行 $sql = "insert into users (name,password) values ('{$name}','{$password}');"; 时,同样也没有检查用户名是否已存在
也就是不管用户名是否存在,$.post()$res = mysql_query($sql); 都会被执行
这两处疏漏就是 户名存在还是能注册 的原因
你在执行 $.post() 时并没有判断 $("#namediv").html() 是否为空(用户名存在)
也就是不管用户名是否存在,$.post() 都会被执行
你在执行 $sql = "insert into users (name,password) values ('{$name}','{$password}');"; 时,同样也没有检查用户名是否已存在
也就是不管用户名是否存在,$.post()$res = mysql_query($sql); 都会被执行
这两处疏漏就是 户名存在还是能注册 的原因
你这样你不觉得很费事吗?
你在前台用JS 做一下简单的字段验证, 要实现不重复注册的话 放到后台 例:张三
你先查一下数据库里是否有张三 如果没有则放行 如果有则提示已经有了不就行了
关键是php端的校验太简单了,会有sql注入的问题。。。
内容总结
以上是互联网集市为您收集整理的求教一个问题,注册时检测用户名如果存在的话,不让它注册成功,下面这样写用户名存在还是能注册。全部内容,希望文章能够帮你解决求教一个问题,注册时检测用户名如果存在的话,不让它注册成功,下面这样写用户名存在还是能注册。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。