【江苏省公安厅】高考在即,各位考生和家长务必提高警惕!凡是声称可以提前获取考题答案的、有“内部渠道”提前录取的、提前缴纳学费、保证金的,或是要求点击不明链接以获取上述服务的,都是诈骗。

Typecho文档-搜索间隔

发布于: 2025-05-04 所属类目: typecho

文档说明:
一定程度上可以规避非正常的人类行为,防止频繁执行SQL语句,瞬时多线程请求造成服务器负载压力。

涉及文件:

var/Widget/Archive.php

修改说明:

  1. 打开文件 var/Widget/Archive.php 搜索并找到以下代码(约2181行):

    self::pluginHandle()->trigger($hasPushed)->search($keywords, $this);
  2. 在其下方添加如下代码:

    $currentTime = time(); // 获取当前时间   
    $searchInterval = 60;    // 自定义搜索间隔时间,单位:秒
    $lastSearchTime = Cookie::get('last_search_time'); // 获取最后一次搜索时间
    if ($lastSearchTime && ($currentTime - $lastSearchTime < $searchInterval)) { // 间隔时间内再次搜索,抛出提示
        throw new WidgetException('搜索过于频繁');    
    }
    Cookie::set('last_search_time', $currentTime); // 更新上一次搜索时间

结语-不足之处:
为节约数据库空间,搜索计时器的值存储在Cookie中,这也就意味着可以通过某些手段跳过这一限制,不过聊胜于无。

版权申明:
本文由Lopwon于2024/10/6在【Lopwon Blog】首发分享,特此申明。

微信扫码分享

请使用微信扫描二维码分享

网站已运行 47 天 | 共有文章 43 篇