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. 无段落、无标题和无列表的密集文本 5. 太多的动画、背景音乐或视觉效果 6. 不适当的颜色和字体选择 7. 缺乏响应式设计和移动优化 8. 长时间的加载时间和缓慢的响应速度 9. 糟糕的网站安全性和易受攻击 10. 滥用复制和粘贴内容,未保持原创性。

Public @ 2023-06-27 22:00:38

域名续费及赎回说明

域名续费指的是在域名到期前,在注册商处支付相应的费用,以延长该域名的有效期。通常在续费前,注册商会提前向域名持有人发送续费提醒邮件或短信,提醒其进行续费操作。 如果域名到期后没有及时续费,该域名会进入赎回期。赎回期是一个保护期,持续时间一般为30天至60天不等。在这个期间内,域名持有人仍有机会以相应的费用购买回域名,以恢复其所有权。 如果赎回期过后,域名仍未被购买,则该域名将进入删除期,持续时

Public @ 2023-04-27 10:50:12

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

作为一名SEOER新手,编程不是必须的,但有一定的编程基础会对SEO工作有帮助。编程技能可以帮助您更好地理解网站结构和代码,理解搜索引擎爬虫如何获取和分析网站内容,以及如何优化网站代码和内容以提高搜索引擎排名。 当选择CMS系统时,需要考虑以下几点: 1. 功能和特性:不同的CMS系统具有不同的功能和特性,需要根据自己的需求选择系统。例如,如果您需要一个电子商务网站,则需要选择具有完整电子商务

Public @ 2023-06-03 21:00:21

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

在进行CMS模板开发时,应注意以下几点: 1. 规范化命名:给模块、组件、样式类等都使用规范化、一致性的命名,以方便其他开发者理解和维护代码。 2. 响应式设计:当前移动设备的普及,需要确保模板在不同设备上都能良好地显示和交互。 3. 可重用性:设计模板时应尽量将模块与页面解耦,使其可以被多个页面共享,提高开发效率。 4. 可定制性:提供一些可配置的选项,以满足用户对模板的个性化需求。

Public @ 2023-07-24 08:50:27

更多您感兴趣的搜索

0.661066s