现在的位置: 首页学习笔记>正文
PHP实战项目唯一标识符.
发表于5年前 学习笔记 暂无评论

PHP唯一标识符

 

  1. 继续项目进度,添加唯一标识符.   
  2. echo sha1(uniqid(rand(),true));   
  3. //每台电脑都不会产生相同的标识符.   
  4. 加个true是表示有小数点.   
  5. 这东西40位的就叫唯一标识符.   
  6. $_clean=array();   
  7.    //唯一标识符防止恶意注册,和伪装表单跨站攻击.   
  8.    $_clean['uniqid']=_check_uniqid($_POST['uniqid'],$_SESSION['uniqid']);   
  9.    //激活注册.   
  10. 在注册函数中添加这个.   
  11. function _check_uniqid($first_un,$end_un)   
  12. {   
  13.     if ((strlen($first_un)!=40||($first_un!=$end_un)))   
  14.     {   
  15.         _alert_back(唯一标识符异常);   
  16.     }   
  17.     return $first_un;   
  18. }   
  19. 然后在核心函数库   
  20.   
  21. function _sha1_uniqid()   
  22. {   
  23.     return _mysql_string(sha1(uniqid(rand(),true)));   
  24. }   
  25.   
  26. 注册页面代码如下   
  27. if ($_POST["action"]=="register")   
  28. {   
  29.   
  30.     _alert_YZM($_POST['YZM'],$_SESSION['code']);   
  31.   
  32.    //然后这里我们验证用户名   
  33.    //   
  34.    include dirname(__FILE__).'/includes/register.func.php';   
  35.    $_clean=array();   
  36.    //唯一标识符防止恶意注册,和伪装表单跨站攻击.   
  37.    $_clean['uniqid']=_check_uniqid($_POST['uniqid'],$_SESSION['uniqid']);   
  38.    //激活注册.   
  39.    $_clean['action']=_sha1_uniqid();     
  40.    $_clean['username']=_check_username($_POST['username'],2,20);   
  41.    $_clean['password']=_check_password($_POST['password'],$_POST['password1'],6);   
  42.    $_clean['question']=_check_question($_POST['passt'],2,20);   
  43.    $_clean['anwer']=_check_answer($_POST['passt'],$_POST['passd'],2,20);   
  44.    $_clean['sex']=$_POST['sex'];   
  45.    $_clean['face']=$_POST['face'];   
  46.    $_clean['email']=_check_email($_POST['email']);   
  47.    $_clean['qq']=_check_qq($_POST['QQ']);   
  48.    $_clean['url']=_check_url($_POST['url']);   
  49.    print_r($_clean);  
×
腾讯微博