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

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

一键安装

安装指南

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

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

后台设置

注册效果

开发指南

一、/db_patch.php

/**

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

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

* Jacklee的博客 致力于php技术

* http://www.phpally.com

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

* @author: Jacklee

* @email: jack349392900#gmail.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,文件尾添加

/**

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

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

ecshop linux 大小写,ecshop敏感词管理相关推荐

  1. 敏感词管理(DFA算法实现)

    #博学谷技术支持# 目录 1.敏感词-过滤 2.DFA实现原理 3.实现步骤 3.1初始化敏感词库 3.2搜索文本中某个文字是否匹配关键词 3.3获取匹配的关键词和命中的次数 3.4测试 我们在完成一 ...

  2. FreeCMS视频教程 敏感词管理

    项目地址:http://www.freeteam.cn/ 原文地址:http://www.freeteam.cn/site/FreeCMS/videos/info/2016/5498.html

  3. java dfa 敏感词_java利用DFA算法实现敏感词过滤功能

    前言 敏感词过滤应该是不用给大家过多的解释吧?讲白了就是你在项目中输入某些字(比如输入xxoo相关的文字时)时要能检 测出来,很多项目中都会有一个敏感词管理模块,在敏感词管理模块中你可以加入敏感词,然 ...

  4. dfa算法 java_java实现敏感词过滤(DFA算法)

    小Alan在最近的开发中遇到了敏感词过滤,便去网上查阅了很多敏感词过滤的资料,在这里也和大家分享一下自己的理解. 在写之前,小Alan给大家推荐一篇来自http://cmsblogs.com/?p=1 ...

  5. linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题

    linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题 参考文章: (1)linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 M ...

  6. 第三章:过滤敏感词、帖子管理

    过滤敏感词 根节点没有字符,到最末节点拼起来才是敏感字符,做一个标记在最后. 过滤符号 /* * 过滤敏感词 * 参数:待过滤的文本, 返回过滤后的文本 * */ public String filt ...

  7. ECSHOP订单管理系统,ecshop客户资料同步管理软件

    <ECSHOP订单管理软件>是一款专门为独立电商开发集ECSHOP订单和客户资源管理为一体的综合管理助手,软件支持数百个类型产品网站中的订单数据导入和导出功能,并支持导出多种格式来兼容不同 ...

  8. mysql数据表名设置大小写不敏感(Linux Centos)

    mysql数据表名设置大小写不敏感(Linux Centos) 0.删除数据表(可选) drop table yourTableName; 1.编辑mysql配置文件 vi /etc/my.cnf 在 ...

  9. linux下mysql 8.0配置大小写不敏感

    mysql8必须在初始化时指定大小写不敏感 lower-case-table-names=1 # 必须在初始化前设置大小写敏感 bin/mysqld --user=mysql --initialize ...

最新文章

  1. Dubbo 18 问
  2. 官网的Ext direct包中.NET版的问题
  3. 【图像分类】 关于图像分类中类别不平衡那些事
  4. 股票涨停之后该不该卖?
  5. android中的屏幕单位介绍
  6. 数据是以什么形式存放在计算机中的?计算机与进制 (进制转换原则)
  7. 企业微信的好处和功能介绍 | 最新企业微信电脑版下载
  8. 没有巨头公司做内容支撑 剪辑软件公司小影科技上市后能跑多远?
  9. 【源码】elfun18:计算各种椭圆积分和函数
  10. Android OKHttp 可能你从来没用过的拦截器 【实用推荐】
  11. international journal of remote sensing投稿经历给我的感悟
  12. MySQL索引优化是什么意思?底层原理是什么?
  13. Linux下轻量级数据库-SQLite3(嵌入式设备)
  14. CSS:精灵图 字体图标
  15. ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge
  16. HI3559算法移植之OpenCV图像拼接、配准和图像融合技术(三)
  17. 德国精品软件 极品系统优化软件 TuneUp Utilities
  18. 网络加速_爱奇艺SD-WAN建设之网络加速平台实践
  19. 1079 -- 周期串
  20. Java输入处理之spit和indexOf

热门文章

  1. J-Link 下载程序 接线图
  2. 学习笔记之MIB相关
  3. PKU1390UVA10559方块消除+弱化版P2135
  4. java/php/net/python“最终幻想14”游戏时装图鉴网站设计与制作
  5. Egencia smartmix航班排名模型背后的运营研究
  6. hive beeline 的server启动与连接
  7. 127_不同国家的手机号,除去国家代码后,有可能相同吗?
  8. seo是什么工作介绍
  9. 基于Hyperlynx VX.2.5 的DDR3仿真之一:Verifying That the Software Recognizes Your Design Correctly
  10. 装修到底要不要请设计师?