如何限制 WordPress 网站搜索频率次数?

如何限制 WordPress 网站搜索频率次数?


标签: ,

正在查看 3 个帖子:1-3 (共 3 个帖子)
  • 作者
    帖子
  • Geticer
    参与者
    • 文章数量: 63
    @monicfenga
    楼主

    有一款插件可以实现标题中所说的效果,叫“Search Limiter & Blocker”,但这款插件的效果太“广泛”了:一旦达到次数限制,插件会限制用户访问任何页面,而不是“只限制访问搜索页面”。

    我在其他地方搜索过类似“wordpress limit search rate”等关键字,没有找到结果。

    换言之,需求是:当用户在一定时间(如60秒)内 执行了超过一定次数的搜索(如2次),就阻止用户继续搜索(比如用die结束请求)。

    Geticer
    参与者
    • 文章数量: 63
    @monicfenga
    楼主

    已解决。

    使用“Search Limiter & Blocker”插件,编辑search-limiter-blocker.php的第169行(附近有“Check for block”字样),将'blocked' === $is_block改成'blocked' === $is_block && $query->is_search即可。

    诗语
    管理员
    • 文章数量: 5,866
    @feibisi

    解决了的话,那我补充个直接完全禁用 WordPress 搜索功能的

    /*
    //禁用 WordPress 全局搜索功能
    //https://bbs.weixiaoduo.com/topic/37960
    */
    
    function fb_filter_query( $query, $error = true ) {
    if ( is_search() ) {
    $query->is_search = false;
    $query->query_vars[s] = false;
    $query->query[s] = false;
    // to error
    if ( $error == true )
    $query->is_404 = true;
    }
    }
    add_action( 'parse_query', 'fb_filter_query' );
    add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
正在查看 3 个帖子:1-3 (共 3 个帖子)
  • 哎呀,回复话题必需登录。

未找到对应子版块?请直接在 [疑难杂症] 版块中发帖提问。

收藏纪念品


有奖活动

参与论坛社区问答,有机会获赠文派瓦普(Wapuu.com)手办模型。

话题信息

商业系统