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

windows、linux系统设置404教程(适用虚拟主机)

设置一个好的自定义错误页面,可以增加网站的收录,挽留住一些可能因打不开的页面而放弃的客户,我司虚拟主机特别提供了自定义错误页面设置,包括404错误在内的所有自定义错误都可以设置。linux系统设置方法:第一步:在本地创建一个文本文件,在文本里面添加如下语句:ErrorDocument 404 /404.html然后上传到wwwroot重命名为.htaccess,如果网站目录本身就有这个文件,下载以

Public @ 2012-06-17 16:09:55

关于网站被挂马\黑客入侵的只读\误杀相关问题

1. 应当立即采取何种行动? 答:应立即备份网站的文件和数据、升级网站的安全防护措施,确认攻击手段和源头,分析攻击历史是否存在模式可见。此外,可以采取阻止黑客入侵的措施,如IP限制和免费使用各种反入侵工具等。 2. 如何确认网站是否被挂马黑客入侵? 答:可以查看网站根目录下新增的文件,如果出现了不熟悉的、意义不明的文件时,那证明网站一定被入侵了;此外,还可以检查网站系统日志以及直接进行手

Public @ 2023-02-24 04:00:21

Struts2漏洞预警

Struts2 devMode导致远程代码执行漏洞什么是devMode?所谓的devMode模式,看名称也知道,是为Struts2开发人员调试程序准备的,在此模式下可以方便地查看日志等信息。默认情况下,devMode模式是关闭的。不过实际上仍然有很多网站上线的时候就赤裸裸地采用devMode模式,自然面临更大的安全问题,需要尽快修复。影响范围:当Struts开启devMode时,该漏洞将影响Str

Public @ 2019-03-12 15:44:42

cms系统是什么?为什么要做cms系统?

CMS系统是什么CMS是Content Management System的缩写,意思为“网站内容管理系统”, 用来管理网站后台,编辑网站前台。随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本

Public @ 2010-01-09 15:44:50

更多您感兴趣的搜索

0.523207s