Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[求助] 帮我看下代码

[复制链接]
w297088867 发表于 2011-3-22 14:50:08 | 显示全部楼层 |阅读模式
问题描述
适用版本: Discuz! X1.5
浏览器: IE7 
使用模板: 官方模板
BUG地址: 无BUG
谁能解释下..3个代码含义---

if(!$_ENV['user']->check_username($username)) {
   return UC_USER_CHECK_USERNAME_FAILED;
   
  } elseif(!$_ENV['user']->check_usernamecensor($username)) {
   return UC_USER_USERNAME_BADWORD;
   
  } elseif($_ENV['user']->check_usernameexists($username)) {
   return UC_USER_USERNAME_EXISTS;
   
  }
//////


对应的代码

function check_usernamecensor($username) {
  $_CACHE['badwords'] = $this->base->cache('badwords');
  $censorusername = $this->base->get_setting('censorusername');
  $censorusername = $censorusername['censorusername'];
  $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censorusername = trim($censorusername)), '/')).')$/i';
  $usernamereplaced = isset($_CACHE['badwords']['findpattern']) && !empty($_CACHE['badwords']['findpattern']) ? @preg_replace($_CACHE['badwords']['findpattern'], $_CACHE['badwords']['replace'], $username) : $username;
  if(($usernamereplaced != $username) || ($censorusername && preg_match($censorexp, $username))) {
   return FALSE;
  } else {
   return TRUE;
  }
}


function check_username($username) {
  $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
  $len = strlen($username);
  if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*\"\s\<\>\&]|$guestexp/is", $username)) {
   return FALSE;
  } else {
   return TRUE;
  }
}

//验证账号是不是存在
function check_usernameexists($username) {
  $data = $this->db->result_first("SELECT username FROM ".UC_DBTABLEPRE."members WHERE username='$username'");
  return $data;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-9 03:12 , Processed in 0.105205 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表