ecshop linux 大小写,ecshop敏感词管理

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

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

一键安装

bd73010e03f267b190a33b839247d04c.png

安装指南

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

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

后台设置

d129f3a70ef525c7e2545a88e9fd0c42.png

注册效果

d2106edda390b40ed317e171f5b61c80.png

开发指南

一、/db_patch.php

/db_patch.php

PHP

/**

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

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

* 码农笔记 程序员搬砖之路

* http://www.phpally.com

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

* @author: Jack

* @email: 349392900@qq.com

* @date: 2012-11-26

*/

define('IN_ECS', true);

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

$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);

";

$db->query($sql);

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

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/**

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

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

* 码农笔记 程序员搬砖之路

* http://www.phpally.com

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

* @author: Jack

* @email: 349392900@qq.com

* @date: 2012-11-26

*/

define('IN_ECS',true);

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

$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);

";

$db->query($sql);

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

?>

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

/includes/lib_passport.php

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;

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

/**

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

* @param   string      $reg_username 注册用户名

* @return  boolean

*/

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,文件尾添加

/languages/zh_cn/admin/shop_config.php

PHP

/* 敏感词设置 */

$_LANG['cfg_name']['sensitive'] = '敏感词设置';

$_LANG['cfg_name']['reg_sensitive'] = '注册敏感词';

$_LANG['cfg_desc']['reg_sensitive'] = '使用一个或多个空格分隔,不区分大小写。';

1

2

3

4

/* 敏感词设置 */

$_LANG['cfg_name']['sensitive']='敏感词设置';

$_LANG['cfg_name']['reg_sensitive']='注册敏感词';

$_LANG['cfg_desc']['reg_sensitive']='使用一个或多个空格分隔,不区分大小写。';

四、编辑/user.php,查找

/user.php

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';

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/* 验证用户注册用户名是否可以注册 */

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';

}

}

替换为

/user.php

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) || is_reg_sensitive($username))

{

echo 'false';

}

else

{

echo 'true';

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/* 验证用户注册用户名是否可以注册 */

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 ,查找

/languages/zh_cn/user.php

PHP

$_LANG['msg_un_registered'] = '用户名已经存在,请重新输入';

$_LANG['passport_js']['msg_un_registered'] = '* 用户名已经存在,请重新输入';

1

2

$_LANG['msg_un_registered']='用户名已经存在,请重新输入';

$_LANG['passport_js']['msg_un_registered']='* 用户名已经存在,请重新输入';

替换为

/languages/zh_cn/user.php

PHP

$_LANG['msg_un_registered'] = '用户名已经存在或不允许注册,请重新输入。';

$_LANG['passport_js']['msg_un_registered'] = '* 用户名已经存在或不允许注册,请重新输入。';

1

2

$_LANG['msg_un_registered']='用户名已经存在或不允许注册,请重新输入。';

$_LANG['passport_js']['msg_un_registered']='* 用户名已经存在或不允许注册,请重新输入。';

订阅本站、关注微博可免费获取技术支持,尊重劳动成果,转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值