destoon搜索关键词记录过滤拼音以及全英文搜索

   最近网站搜索关键词记录总有英文的恶意关键词搜索提交,导致dt后台的搜索关键词记录一大堆垃圾无效的搜索关键词,所以就重新在官方基础上修改过滤英文及拼音关键词搜索,说干就干!

    找到/include/module.func.php

   在14行左右,找到:function keyword(kw,items, $moduleid) 

    替换这段函数改为以下即可:

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function keyword($kw, $items, $moduleid) {
    global $DT;
    //判断搜索字符串长度
    if(!$DT['search_kw'] || $items < 2 || strlen($kw) < 3 || strlen($kw) > 120 || strpos($kw, ' ') !== false||strpos($kw, '_') !== false) return;
    $kw = addslashes($kw);
    //判断是否有关键词
        $r = DB::get_one("SELECt * FROM ".DT_PRE."keyword WHERe moduleid=$moduleid AND word='$kw' ORDER BY itemid ASC");      
    if($r) {
        $letter = trim(gb2py($kw));
        $items = $items > $r['items'] ? $items : $r['items'];
        $month_search = date('Y-m', $r['updatetime']) == date('Y-m', DT_TIME) ? 'month_search+1' : '1';
        $week_search = date('W', $r['updatetime']) == date('W', DT_TIME) ? 'week_search+1' : '1';
        $today_search = date('Y-m-d', $r['updatetime']) == date('Y-m-d', DT_TIME) ? 'today_search+1' : '1';
        if($letter==$kw){
       DB::query("DELETE FROM ".DT_PRE."keyword WHERe moduleid=$moduleid AND word='$kw' ");
        }
        DB::query("UPDATe ".DT_PRE."keyword SET items='$items',updatetime='".DT_TIME."',total_search=total_search+1,month_search=$month_search,week_search=$week_search,today_search=$today_search WHERe itemid=$r[itemid]");
        DB::query("DELETE FROM ".DT_PRE."keyword WHERe moduleid=$moduleid AND word='$kw' AND itemid>$r[itemid]");
    } else {
        $letter = trim(gb2py($kw));
        $status = $DT['search_check_kw'] ? 2 : 3;
        if(strlen($letter) < 2) $status = 2;
        //判断拼音和中文是否一致,如果一致就不入库
        if($letter==$kw){
       DB::query("DELETe FROM ".DT_PRE."keyword WHERe moduleid=$moduleid AND word='$kw' ");
        }else{
        DB::query("INSERT INTO ".DT_PRE."keyword (moduleid,word,keyword,letter,items,updatetime,total_search,month_search,week_search,today_search,status) VALUES ('$moduleid','$kw','$kw','$letter','$items','".DT_TIME."','1','1','1','1','$status')");
        }
    }
}

  最后后台更新下数据,清除下缓存,即可,就解决了搜索英文和拼音的烦恼

 

文章转自:http://www.kaotop.com/it/354435.html

posted @   圆柱模板  阅读(105)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-10-30 自己整理的模拟爬虫的user-agent
点击右上角即可分享
微信分享提示