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.

Public @ 2023-04-03 03:50:22

网站出现service unavailable的解决方法

当网站出现 "service unavailable" 的错误信息时,可能是由于服务器过载、网络故障或其他问题导致的。以下是一些可能的解决方案: 1. 等待一段时间后再试:很多时候, "service unavailable" 的错误只是短暂的,可能是由于服务器正在处理更多的请求,因此需要等待几分钟或几个小时后再尝试访问。 2. 刷新页面:刷新页面可以尝试解决浏览器缓存、网络故障等问题。 3

Public @ 2023-06-19 15:00:19

Struts2漏洞预警

1、要求对Struts2应用进行安全扫描,发现并消除系统中的漏洞,确保系统的可靠性和安全性; 2、针对Struts2的XML处理部分定期进行安全审计,预防XML内容未经安全检查乱入系统; 3、加强输入参数检查,确保输入参数的正确性能和安全性; 4、加强拦截过滤,有效阻止XSS攻击、SQL注入攻击等; 5、避免使用Struts2处理未经安全检查的输入参数,防止受到系统漏洞或攻击; 6、

Public @ 2023-02-28 14:48:23

杰奇CMS如何实现百度友好度

应广大站长对移动友好度建设内容要求,本次学堂请到了《杰奇小说连载系统/杰奇原创文学系统》的官方工程师为我们解读杰奇是如何做好友好度建设的!全文如下:【前言】随着移动阅读的普及,越来越多的站长开始进行移动化网站的建设(俗称手机站或者WAP站)。良好的网页设计规范,有利于提高用户体验以及搜索引擎的收录。对此百度也推出了《百度搜索Mobile Friendly(移动友好度)标准V1.0》,欢迎大家作为搜

Public @ 2013-09-15 15:44:41

更多您感兴趣的搜索

0.584894s