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

什么是静态IP地址?

静态IP地址是指在计算机网络中,由网络管理员或用户手动分配的不会改变的IP地址。这种IP地址与动态IP地址相对,动态IP地址是在每次连接网络时动态分配的临时IP地址。静态IP地址通常用于需要始终保持相同IP地址以便于远程访问和管理的服务器、路由器、防火墙等网络设备,也可以用于需要固定地址的计算机或其他设备。

Public @ 2023-06-04 10:50:08

网站设计指南

每个网页都需要有合适的标题,网站首页标题建议使用站点名称或者站点代表的公司、机构名称;其余的内容页面,标题建议做成与正文内容的提炼和概括,建议格式“页面标题_站点名称”,这可以让您的潜在用户通过搜索引擎结果中的标题快速访问到您的页面。充分利用网站首页或者频道首页的 description 标签,提供此网页内容的概括说明,形式为<meta name="description"

Public @ 2020-04-04 15:45:22

CMS模板开发应该注意什么?

1.明确页面的分类和结构:在CMS模板开发时,一定要先搞清楚页面的结构和分类,这是模板开发的第一步,它能帮助我们设计出有条理及完整的模板; 2.把握好可定制性:CMS模板开发要尽可能考虑用户对模板的定制要求,使得CMS模板更加灵活丰富多彩,并且可以满足用户不同的审美和使用喜好,还要保障模板的可调整性; 3.统一样式:要在整个模板的开发过程中保持统一的样式,确保用户在浏览各个页面时体验不受影

Public @ 2023-03-02 00:48:28

更多您感兴趣的搜索

0.570952s