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

使用mysql管理软件导入恢复/导出备份mysql

数据库 1、使用MySQL管理软件导入恢复MySQL数据库: (1)首先要准备好要恢复的数据文件(格式为.sql),如果是备份的时候存放在本地,就要先把数据文件拷贝到MySQL管理软件上。注意:存放mysql数据文件的目录要有相应权限! (2)以Navicat为例,打开Navicat,点击左侧的“工具”——“住备份/还原”标签,找到恢复菜单,点击“恢复”,然后找到要恢复的sql文件,点击“开

Public @ 2023-03-05 01:00:28

使用FTP代理功能连接空间上传文件(解决改善用户上传慢的问题)

FTP代理功能可以提高用户上传文件的速度。它通过缓存文件和分段上传等技术,解决了用户上传大文件时速度慢、易断线的问题。下面是使用FTP代理功能连接空间上传文件的步骤: 1. 打开FTP客户端软件,输入FTP空间的地址、用户名和密码,连接到FTP空间。 2. 在FTP客户端软件中,选择使用代理连接FTP空间。一般情况下,代理服务器地址和端口号由空间服务商提供,用户需要在FTP客户端软件中进行设置

Public @ 2023-06-18 04:00:18

国外优秀开源PHP建站程序一览

1. WordPress - 一个广泛使用的开源博客和CMS平台。 2. Drupal - 一个面向内容管理的开源平台,支持社区开发和扩展。 3. Joomla - 一个开源的内容管理系统,该系统为用户提供了一种创建动态(带有博客、消息、投票、社区等)站点的方法。 4. Magento - 一个基于PHP的开源电子商务平台,使用Zend Framework和MySQL数据库构建。 5. L

Public @ 2023-06-22 05:50:18

更多您感兴趣的搜索

0.556483s