在使用Dedecms CMS模板程序搭建网站时,有时用户在发表文章时会遇到“body has not allow words!”的提示。这种情况下,文章无法正常上传或发表,给用户带来了困扰。


为了解决这一问题,首先需要明确该提示的含义。“body has not allow words!”的英文直译是“文章中包含不允许的字符”。这通常是因为后台设置了过多的敏感字词过滤规则,导致用户发布的内容被误判为包含敏感信息。


当遇到这种情况时,可以按照以下步骤进行排查和解决:


1. 登录到Dedecms后台管理系统。

2. 进入“系统”菜单下的“系统基本参数”设置。

3. 在“互动设置”板块中检查敏感字词的配置情况。

4. 删除那些不必要的敏感字词,保留真正需要过滤的关键字。


完成上述操作后,重新尝试发表文章。如果问题得以解决,则说明之前设置的敏感字词过于严格,影响了用户的正常使用。


此外,为了让用户更加直观地理解错误提示,可以将默认的英文提示修改为中文提示。具体方法如下:


找到并打开文件:inclide/fileter.inc.php,定位到大约第19行左右的位置,替换原有代码为以下内容:


if($cfg_notallowstr != '' && eregi($cfg_notallowstr, $svar)) 
{ 
    preg_match_all("@{$cfg_notallowstr}@", $svar, $me); 
    $me = array_unique($me[0]); 
    $notallowkeys = ''; 
    foreach($me as $v){ 
        $notallowkeys .= $v . ', '; 
    } 
    $msg = '您发布的内容中包含不允许的文字:' . $notallowkeys; 
    ShowMsg($msg, '-1'); 
    exit(); 
}
    

完成代码修改后,请确保将更新后的文件上传至服务器,并覆盖原有的文件。这样,当用户再次尝试发布包含敏感字词的文章时,系统会以中文提示“您发布的内容中包含不允许的文字”,列出具体的敏感字词,从而帮助用户快速定位问题所在。


通过以上步骤,不仅可以有效解决“body has not allow words!”的问题,还能提升用户体验,使网站运营更加顺畅。