现在的位置: 首页学习笔记>正文
PHP实战项目用户名处理
发表于6年前 学习笔记 评论数 1

今天做的是处理注册用户名.

控制不能注册一些敏感用户名

和用户名的大小控制.

和一些简单验证,SQL的注入.

建立在INCLUDES建立一个注册验证的函数页面

我这叫register.func.php

在注册页面的代码如下

PHP用户名处理

  1.  //然后这里我们验证用户名   
  2.    //   
  3.    include dirname(__FILE__).'/includes/register.func.php';   
  4.    $_clean=array();   
  5.    $_clean['username']=_check_username($_POST['username'],2,20);   
  6.    print_r($_clean);   
  7. }   
  8. Register.func.php代码如下   
  9. <?php   
  10. /**
  11. * xiangmushizhan  
  12. * ================================================  
  13. * Copy 2012-2102 Suchao.  
  14. * Web: http://www.mechao.cn  
  15. * ================================================  
  16. * Author: Suchao.  
  17. * Date: 2012-6-12  
  18. */  
  19. ?>   
  20. <?php   
  21.   
  22.   
  23. /**
  24.  * _check_username表示检测并过滤用户名  
  25.  * @access public   
  26.  * @param string $_string 没有处理过的用户名  
  27.  * @param int $_min  最小位数  
  28.  * @param int $_max 最大位数  
  29.  * @return string  过滤后的用户名   
  30.  */  
  31.   
  32. function _check_username($_string,$_min,$_max)   
  33. {   
  34.     $string=trim($_string);   
  35.     if (mb_strlen($_string,'utf-8')<$_min||mb_strlen($_string,'utf-8')>$_max)   
  36.     {   
  37.         _alert_back('用户名长度不能小于'.$_min.',大于'.$_max);   
  38.     }   
  39.        
  40.         $_char='/[<>\'\"\ ]/';   
  41.         if (preg_match($_char,$_string))   
  42.         {   
  43.             _alert_back(你的用户名含敏感字符);   
  44.         }   
  45.            
  46.            
  47.         ////限制敏感用户名   
  48.         $_mb[0]='X';   
  49.         $_mb[1]='XXX';   
  50.         $_mb[2]='XXXX';   
  51.         //告诉用户,有哪些不能够注册   
  52.         foreach ($_mb as $value)   
  53.         {   
  54.             $_mb_string.='['.$value.']'.'\n';   
  55.         }   
  56.             //这里采用的绝对匹配   
  57.         if (in_array($_string,$_mb))   
  58.         {   
  59.             _alert_back($_mb_string.'以上的用户名不能注册');   
  60.         }   
  61.         return mysql_real_escape_string($_string);   
  62.   
  63.   
  64. }   
  65.   
  66. ?>  
×
腾讯微博