这个是为了防止一些敏感字眼出现在商城会员中,实现如下:
一、执行sql语句:
INSERT INTO `{$prefix}shop_config` (`id`, `parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order`) VALUES (10, 0, 'sensitive', 'group', '', '', '', 1), (1001, 10, 'reg_sensitive', 'textarea', '', '', '股票 管理员', 1);
二、编辑/includes/lib_passport.php,文件尾添加
/** * 判断用户名是否在敏感词列表中 * @param string $reg_username 注册用户名 * @return boolean */ function is_reg_sensitive($reg_username) { $senList = !empty($GLOBALS['_CFG']['reg_sensitive']) ? trim($GLOBALS['_CFG']['reg_sensitive']) : ''; $arrSenWord = explode(" " ,$senList); foreach($arrSenWord as $senWord) { $senWord = trim($senWord); if(strtolower($reg_username) == strtolower($senWord)) //不区分大小写 { return true; } } return false; }
三、编辑/languages/zh_cn/admin/shop_config.php,文件尾添加
/* 敏感词设置 */ $_LANG['cfg_name']['sensitive'] = '敏感词设置'; $_LANG['cfg_name']['reg_sensitive'] = '注册敏感词'; $_LANG['cfg_desc']['reg_sensitive'] = '使用一个或多个空格分隔,不区分大小写。';
四、编辑/user.php,查找
/* 验证用户注册用户名是否可以注册 */ elseif ($action == 'is_registered') { include_once(ROOT_PATH . 'includes/lib_passport.php'); $username = trim($_GET['username']); $username = json_str_iconv($username); if ($user->check_user($username) || admin_registered($username)) { echo 'false'; } else { echo 'true'; } }
替换为:
/* 验证用户注册用户名是否可以注册 */ elseif ($action == 'is_registered') { include_once(ROOT_PATH . 'includes/lib_passport.php'); $username = trim($_GET['username']); $username = json_str_iconv($username); if ($user->check_user($username) || admin_registered($username) || is_reg_sensitive($username)) { echo 'false'; } else { echo 'true'; } }
五、编辑/languages/zh_cn/user.php ,查找
$_LANG['msg_un_registered'] = '用户名已经存在,请重新输入'; $_LANG['passport_js']['msg_un_registered'] = '* 用户名已经存在,请重新输入';
找到前面的字段,这俩字段不一定在你那就是连着的,改为下面:
$_LANG['msg_un_registered'] = '用户名已经存在或不允许注册,请重新输入。'; $_LANG['passport_js']['msg_un_registered'] = '* 用户名已经存在或不允许注册,请重新输入。';
实现截图:
前台注册提示: