为了保障用户账号密码安全,往往需要对用户的账号注册、密码等输入内容做一个检测限制,如弱口令限制,验证码防机器自动脚本限制等,下面对用户模拟注册做一个简单的限制:

实例

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>用户注册页面</title><style>#main{/*让div内部文字居中*/background-color:#fff;border-radius:20px;width:300px;height:350px;margin:auto;position:absolute;top:0;left:0;right:0;bottom:0;}</style></head><body><?php//显示除去E_NOTICE之外的所有错误信息error_reporting(E_ALL&~E_NOTICE);//制作验证码//声明一个字符串集$codes='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';//做一个四位的验证码,for($i=0;$i<4;$i++){$code.="<spanstyle='color:rgb(".mt_rand(0,255).",".mt_rand(0,255).",".mt_rand(0,255).")'>".$codes{mt_rand(0,strlen($codes)-1)}."</span>";}?><divid="main"><!--建立html输入页面--><formaction=""method="post">请输入账号:<inputtype="text"name="username"value="<?=$username?>"required><br>请输入密码:<inputtype="password"name="password1"requiredvalue="<?=$password1?>"><br>请确认密码:<inputtype="password"name="password2"requiredvalue="<?=$password2?>"><br>请输入验证码:<?=$code?><inputtype="text"name="code1"><br><inputtype="text"name="code2"value="<?=$code?>"hidden><br><inputtype="submit"name="sub"value="注册"></form></div><?php//获取POST提交的内容$username=$_POST["username"];$password1=$_POST["password1"];$password2=$_POST["password2"];$sub=$_POST["sub"];$code1=$_POST['code1'];//将验证码的内容转为小写$code2=strip_tags($_POST['code2']);//将用户名首位转为大写$username=ucfirst($username);//数字连续字符弱口令判断$weak=strpos($password1,'012')===false?strpos($password1,'123')===false?strpos($password1,'234')===false?strpos($password1,'345')===false?strpos($password1,'456')===false?strpos($password1,'678')===false?strpos($password1,'789')===false?strpos($password1,'890')===false?:'':'':'':'':'':'':'':'';//检测是否有点击操作if(isset($sub))://strcasecmp($string1,$string2)不区分大小写做判断,判断验证码输入是否正确if(strcasecmp($code1,$code2)!=0)$mess="<spanstyle='color:red;'>验证码输入错误</span>";endif;//如果没有报错且有点击操作往下执行if(!$mess&&isset($sub))://判断用户名首位是否是字母if(ord($username)<65||ord($username)>90):echo"<spanstyle='color:red;'>用户名必须以字母开头</span>";else://判断是否是弱口令if($weak!==false):echo"<spanstyle='color:red;'>密码过于简单,请重新输入</span>";else://判断两次输入密码是否一致if($password1!==$password2):echo"<spanstyle='color:red;'>两次输入密码不一致</span>";else://判断密码长度是否在6-12位if(strlen($password1)<6||strlen($password1)>12):echo"<spanstyle='color:red;'>密码长度请设置6-12位字符</span>";//如果都符合条件返回注册成功提示并将密码加密方便后面传输else:$password3=sha1($password1);$password4=sha1($password2);echo"注册成功,请返回登录";endif;endif;endif;endif;//如果有报错直接输出报错else:echo$mess;endif;?></body></html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


更多相关文章

  1. PHP数组处理初体验
  2. PHP注册验证判断
  3. 回调函数与递归函数实例总结
  4. 实例演绎对回调函数与递归函数的理解?
  5. 返回数组中所有的值并给其建立从0开始递增的数字索引
  6. PHP函数的返回值与参数,匿名函数与变量作用域的总结与实例
  7. PHP函数的返回值、参数及变量、函数作用域的总结
  8. 利用php循环遍历及运算法则实现重新组合数组与计算器实例两则
  9. 0806-请实例演绎你对回调函数与递归函数的理解?

随机推荐

  1. android 实现静默安装、卸载
  2. Android(安卓)sdk manager更新 下载API源
  3. 【Android】Android和PHP开发最佳实践完
  4. Android studio--将项目生成为jar包
  5. Android 酷炫 倒计时的实现
  6. android删除android拦截短信并删除该条短
  7. Android之Animation
  8. RK3288[android 7.1]调试笔记 强制横屏
  9. No IDEA annotations attached to the JD
  10. Android:BroadcastReceiver 随记