如何限制 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,925
    @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 個帖子)
  • 哎呀,回覆話題必需登入。

話題資訊

  • 當前位於:疑難雜症
  • 2 條回覆
  • 2 個參與人
  • 最後回覆:<a href="https://bbs.weixiaoduo.com/users/feibisi/" title=" 檢視詩語的個人資料" class="bbp-author-link"><span class="bbp-author-name"> 詩語</span></a>
  • 上次活動:<a href="https://bbs.weixiaoduo.com/topic/37960/#post-37965" title=" 回覆至:如何限制 WordPress 網站搜尋頻率次數?">4 年、 3 月前</a>