常見程序搜索關(guān)鍵字轉(zhuǎn)碼個(gè)別搜索類的網(wǎng)站因?yàn)橛脩魫阂馑阉鞒霈F(xiàn)誤攔截情況,這類網(wǎng)站本身沒有非法信息,只是因?yàn)榘阉阉麝P(guān)鍵字顯示在網(wǎng)頁中(如下圖) ,可以參考下面方法對(duì)輸出的關(guān)鍵字進(jìn)行轉(zhuǎn)碼
DEDECMS程序 本文針對(duì)Dedecms程序進(jìn)行搜索轉(zhuǎn)碼,其它程序原理類似:對(duì)搜索結(jié)果的關(guān)鍵字進(jìn)行轉(zhuǎn)碼后輸出 一:查看網(wǎng)站編碼,訪問后臺(tái)下面會(huì)顯示,GBK和UTF8兩個(gè)版本
二:復(fù)制下面代碼到 include/extend.func.php 文件尾部(根據(jù)您的網(wǎng)站編碼復(fù)制對(duì)應(yīng)的代碼,編輯網(wǎng)頁時(shí)推薦使用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 【其它模板可能路徑會(huì)有變化】 找到: {dede:global name='keyword' function='RemoveXSS(@me)'/} 替換成:{dede:global name='keyword' function='CharCodeAt(RemoveXSS(@me))'/} 四:查看搜索頁源代碼,查看是否生效
Discuz 程序,示例針對(duì)Discuz!X3.4 GBK版本 一、查看網(wǎng)頁編碼 1.網(wǎng)頁右鍵查看源代碼 2.查看config/config.php 的$_config['output']['charset'] 二、根據(jù)編碼復(fù)制上面的CharCodeAt函數(shù),修改 source/function/function_search.php 文件,加到文件尾部,注意在?> 前面 三、修改source/module/search/search_forum.php 程序 在129行添加如下兩行代碼 $keyword = CharCodeAt($keyword); $modkeyword = CharCodeAt($modkeyword);
四、查看搜索頁源代碼,檢查是否生效
|
|||||
| >> 相關(guān)文章 | |||||
|
|
|||||
400-028-5800
028-62778877
您好,非正常上班時(shí)間若有緊急技術(shù)問題,請(qǐng)撥總機(jī)后按7號(hào)鍵, 其他問題請(qǐng)?zhí)峤还位蛟谏习鄷r(shí)間聯(lián)系,謝謝支持!