2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > ecshop linux 大小写 ecshop敏感词管理

ecshop linux 大小写 ecshop敏感词管理

时间:2022-01-14 14:08:12

相关推荐

ecshop linux 大小写 ecshop敏感词管理

敏感词一般是指带有敏感政治倾向(或反执政党倾向)、暴力倾向、不健康色彩的词或不文明语。本程序防止恶意使用敏感词作为用户名注册。本功能基于2.7.3,其他版本的用户请参考代码研究。

程序的本意是禁止注册“admin”这样的词语,追求算法和效率的朋友请参考Discuz!敏感词算法。小程序,仅供参考。

一键安装

安装指南

第一步:将安装文件覆盖到网站根目录。

第二步:输入”站点路径/db_patch.php”,如”/db_patch.php”一键完成安装,安装完成后,请立即删除db_patch.php。

后台设置

注册效果

开发指南

一、/db_patch.php

/**

*ECSHOP敏感词管理数据库补丁

*----------------------------------------------------------------------------

*Jacklee的博客致力于php技术

*

*----------------------------------------------------------------------------

*@author:Jacklee

*@email:jack349392900#

*@date:-11-26

*/

define('IN_ECS',true);

require(dirname(__FILE__).'/includes/init.php');

$sql="

INSERTINTO`{$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);

";

$db->query($sql);

echo'数据库补丁程序执行成功,请立即删除此补丁文件(db_patch.php)。';

?>

二、编辑/includes/lib_passport.php,文件尾添加

/**

*判断用户名是否在敏感词列表中

*@paramstring$reg_username注册用户名

*@returnboolean

*/

functionis_reg_sensitive($reg_username)

{

$senList=!empty($GLOBALS['_CFG']['reg_sensitive'])?trim($GLOBALS['_CFG']['reg_sensitive']):'';

$arrSenWord=explode("",$senList);

foreach($arrSenWordas$senWord)

{

$senWord=trim($senWord);

if(strtolower($reg_username)==strtolower($senWord))//不区分大小写

{

returntrue;

}

}

returnfalse;

}

三、编辑/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']='*用户名已经存在或不允许注册,请重新输入。';

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。