DEDECMS作为一款广受欢迎的内容管理系统,一直在不断升级和优化,以弥补早期版本中出现的各种漏洞。最近,DEDECMS最新版本5.3.1已经正式发布并可供下载使用。虽然整体功能变化不大,但在安全性方面进行了显著改进。


出于性能和安全性的考量,新版官方程序特意限制了网站首页的搜索功能,禁止搜索单字母(小于2个字节)的情况。这意味着,当用户尝试使用单个字母或字符进行搜索时,系统会提示“关键字不能小于2个字节”。这一改动旨在提升系统安全性,同时减少不必要的资源消耗。


尽管如此,有些用户可能确实需要支持小于2个字节的搜索需求。为了解决这个问题,我们需要对代码进行适当的修改。以下是具体的操作步骤:


// 第一步:打开 plus/search.php 文件
// 找到大约第 26~31 行的以下代码
if($keyword=='' || strlen($keyword)<2) { 
    ShowMsg('关键字不能小于2个字节!','-1'); 
    exit(); 
}

// 修改为:
// 删除或注释掉上述代码即可,例如:
// if($keyword=='') { 
//     ShowMsg('关键字不能为空!','-1'); 
//     exit(); 
// }

接下来,我们还需要对另一个文件进行调整:


// 第二步:打开 include/arc.searchview.class.php 文件
// 找到大约第 159~166 行的以下代码
if(strlen($k)<2) { 
    continue; 
} 
if(ord($k[0])>0x80 && strlen($k)<3) { 
    continue; 
}

// 修改为:
// 删除或注释掉上述代码即可,例如:
// if(strlen($k)<2) { 
//     continue; 
// }
// if(ord($k[0])>0x80 && strlen($k)<3) { 
//     continue; 
// }

完成以上两步后,请将修改后的文件上传至服务器,并覆盖原有的文件。随后,登录DEDECMS后台更新缓存即可生效。


需要注意的是,如果您的网站使用的是UTF-8编码版本,请勿直接用记事本编辑相关文件,以免造成乱码问题。建议使用专业的代码编辑器(如Notepad++、Sublime Text等)进行操作。


以上方法已在DEDECMS 5.3.1 GBK版本中验证通过,理论上适用于其他版本。站长朋友们在调试过程中需仔细检查每一步操作,确保修改无误。