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

ftp常见错误问题集锦

问:上传大文件的时候经常连接被重置,和中断,具体错误如截图,或者直接显示“连接被重置”zhudong.jpg答:请在FTP软件中换成主动模式连接即可。因为我司防火墙有设置tcp空闲30分钟中断,如果使用被动模式上传文件较大,会造成超时,被中断重置。详情请访问:www.west.cn/faq/list.asp?unid=321.530 Not logged in答:账号密码错误、ftp为关闭状态。修

Public @ 2018-01-20 15:45:57

品牌网站如何选择域名?品牌网站选择域名方法

SEO选择域名是每位站长都需要面对的,选择域名需要花费很大的心思。所有网站的内容、流量都与域名相联系。当你在思考一个网站品牌的时候,你思考更多的是这个网站的网站名之后考虑的是域名,如果网站名已经确定,那么域名要如何选择呢?今天教大家品牌网站的角度来探讨域名。品牌网站如何选择域名?1、域名简短、易记、易写、易传播。新手站长在选择域名的时候,通常会选择比较长的域名包含关键词。在很多情况下,长域名并非带

Public @ 2013-08-20 16:00:33

SEOER新手需要学习编程吗?如何选择合适的CMS系统

作为SEOER新手,学习编程是一个很好的选择。虽然编程技能并不是SEO的必需品,但它可以帮助你更好地理解和运用技术以提高网站的搜索引擎排名。掌握基本的编程知识,如HTML、CSS和JavaScript,可以帮助你理解网站结构和前端代码,并对SEO优化提供更好的支持。 至于选择合适的CMS系统,可以考虑以下几点: 1. 功能需求:首先要明确网站的功能需求,例如是否需要电子商务功能,是否需要社交媒

Public @ 2023-06-28 14:50:36

微信公众平台Token验证失败问题总结

很多用户在遇到这个问题都怀疑是微信无法访问网站引起的,但在我们处理的过程中实际是程序返回结果异常引起的,请从以下方面检查:1.非正常编辑文件(记事本,在线编辑),导致添加了utf8的bom签名解决:使用多功能编辑器去除bom2.php文件结束符后包含换行或其他字符//文件开始<?php?>//文件结束解决:去除多余的字符3.程序gzip加密异常解决:可取消程序gzip功能4.服务器用户

Public @ 2014-12-10 15:44:43

更多您感兴趣的搜索

0.508062s