自留地
切勿乱来!
     找回密码

PHPCMS V9 敏感词功能增强及使用方法

#PHPCMS专题

phpcms V9的敏感词(在扩展中管理)自带有2个模式,1是一般,采用的是替换,2是危险,直接去除,实际上也是替换,替换为空了而已,今天加个第三种模式,告知用户存在敏感词,3提示

修改方法

先处理语言包

/phpcms/languages/zh-cn/admin.lang.php

增加一行

$LANG['badword_showmessage']		= '提示';

然后/phpcms/modules/admin/badword.php的17行改为:

$level = array(1=>L('general'),2=>L('danger'),3=>L('badword_showmessage'));

/phpcms/modules/admin/templates/badword_add.tpl.php 34行下面增加

<option value="3"><?php echo L('badword_showmessage')?></option>

/phpcms/modules/admin/templates/badword_edit.tpl.php 42行下面增加

<option <?php echo $level3;?> value="3"><?php echo L('badword_showmessage')?></option>

32-38行改为:

	<?php 
	if($level=='1'){
		$level1 = "selected";
	}else	if($level=='2'){
		$level2 = "selected";
	}else{
		$level3 = "selected";
	}
	?>

/phpcms/model/badword_model.class.php里的replace_badword方法整体换成:

	function replace_badword($str) {
		//读取敏感词缓存
		$badword_cache = getcache('badword','commons');
		foreach($badword_cache as $data){
 			if($data['level'] == '3'){
				showmessage('内容存在非法词汇', HTTP_REFERER);		
			  } else {
	 			if($data['replaceword'] == ''){
					$replaceword_new ='*';				
				  } else {
					$replaceword_new = $data['replaceword'];
				}
	 			$replaceword[] = ($data['level']=='1') ? $replaceword_new : '';
	 			$replace[] = $data['badword'];
			}
		}
		$str = str_replace($replace, $replaceword, $str);
 		return $str;
 	}

这样就增加了一个3提示的敏感词等级

使用方法:

接下来就是敏感词的使用方法,后台添加部分不谈,自己去加就行,只谈不支持的地方引入敏感词接口,以表单向导为例:

打开/phpcms/modules/formguide/index.php

赞(3)  收藏 (0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHPCMS V9 敏感词功能增强及使用方法》
文章链接:https://www.ediok.cn/blog/2022/06/5747.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

评论 抢沙发

评论前必须登录!

 

关注互联网发展前沿,关注PHPCMS技术演进,钻研PHPCMS技术开发

问答社区 联系我们

登录

找回密码

登录即表示同意本站用户协议隐私政策
©2025 周涛博客 All rights reserved

注册

注册即表示同意本站用户协议隐私政策
©2025 周涛博客 All rights reserved

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

微信扫一扫

微信扫一扫