码迷,mamicode.com
首页 > 其他好文 > 详细

ecshop——商城禁止注册敏感词

时间:2014-10-09 02:13:58      阅读:523      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   使用   ar   for   strong   

这个是为了防止一些敏感字眼出现在商城会员中,实现如下:

一、执行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‘] = ‘* 用户名已经存在或不允许注册,请重新输入。‘;

实现截图:

bubuko.com,布布扣

前台注册提示:

bubuko.com,布布扣

 

ecshop——商城禁止注册敏感词

标签:des   style   blog   http   io   使用   ar   for   strong   

原文地址:http://www.cnblogs.com/meiwei101/p/4011841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!