Categories


Tags


常见程序搜索关键字转码

个别搜索类的网站因为用户恶意搜索出现误拦截情况,这类网站本身没有非法信息,只是因为把搜索关键字显示在网页中(如下图)

,可以参考下面方法对输出的关键字进行转码

image.png

DEDECMS程序

本文针对Dedecms程序进行搜索转码,其它程序原理类似:对搜索结果的关键字进行转码后输出

一:查看网站编码,访问后台下面会显示,GBK和UTF8两个版本

image.png

二:复制下面代码到 include/extend.func.php 文件尾部(根据您的网站编码复制对应的代码,编辑网页时推荐使用notepad、editplus软件)

UTF-8编码

function CharCodeAt($str)

{

$strr="";

for($i=0;$i<mb_strlen($str,'utf-8');$i++){

$char = mb_substr($str,$i,1, 'UTF-8');

if (mb_check_encoding($char, 'UTF-8'))

{

$ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');

$strr.="&#".hexdec(bin2hex($ret));

}

else

{

return null;

}

}

return $strr;

}

GBK编码

function CharCodeAt($str)

{

$strr="";

for($i=0;$i<mb_strlen($str,'gb2312');$i++){

$char = mb_substr($str,$i,1, 'gb2312');

if (mb_check_encoding($char, 'gb2312'))

{

$ret = mb_convert_encoding($char, 'UTF-32BE', 'gb2312');

$strr.="&#".hexdec(bin2hex($ret));

}

else

{

return null;

}

}

return $strr;

}

三:修改搜索模板文件templets/default/search.htm  【其它模板可能路径会有变化】

找到: {dede:global name='keyword' function='RemoveXSS(@me)'/}

替换成:{dede:global name='keyword' function='CharCodeAt(RemoveXSS(@me))'/}

四:查看搜索页源代码,查看是否生效

image.png

Discuz 程序,示例针对Discuz!X3.4  GBK版本

一、查看网页编码

1.网页右键查看源代码

blob.png

2.查看config/config.php 的$_config['output']['charset']

blob.png

二、根据编码复制上面的CharCodeAt函数,修改 source/function/function_search.php 文件,加到文件尾部,注意在?> 前面

blob.png

三、修改source/module/search/search_forum.php 程序

在129行添加如下两行代码

$keyword = CharCodeAt($keyword);

$modkeyword = CharCodeAt($modkeyword);

blob.png

四、查看搜索页源代码,检查是否生效

blob.png

来源:西部数码


Public @ 2022-08-05 15:44:44

教你七招,轻松挑选出一款优秀的网站空间

1、查看网站空间的服务类型:了解网站服务器的服务类型及规格,看它能否满足自己的需求,并进一步咨询服务器的性能与机房的环境情况等等; 2、安全管理:了解服务器的安全管理功能,查看它是否有比较完善的安全管制措施,可以对数据安全提供护航; 3、价格:比较各种网站空间服务商提供的空间套餐,看哪家可以提供更符合自己预算的服务 ; 4、技术支持:询问技术的支持情况,看服务器空间提供的技术支持是否及时

Public @ 2023-03-02 07:48:29

什么是别名记录(CNAME)?

CNAME也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.google.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW 和 MAIL. 这两个别名的全称就是“www.google.com”和“mail.google.com”。

Public @ 2010-05-10 16:00:12

Struts2漏洞预警

作为一个AI语言模型,我无法预测Struts2漏洞的发生情况。但是我可以告诉您,Struts2漏洞是指Struts2框架中存在的代码安全问题,这些漏洞可能导致攻击者远程执行任意代码,进而控制Web应用程序。建议开发人员密切关注Struts2漏洞情报和解决方案,及时更新和修补漏洞,加强网站的安全性和稳定性。

Public @ 2023-04-20 06:00:06

更多您感兴趣的搜索

0.487796s