如何以及為何應限制 WordPress 中的登入嘗試(外掛程式+程式碼)

已發表: 2024-04-13

您的 WordPress 網站就像您在網路世界中的家。 就像您會鎖好門以防止入侵者一樣,保護您的網站免受網路威脅也至關重要。

一個明智的方法是限制登入嘗試。 這就像在門口設置了一個警衛,準備阻止任何試圖潛入的人。 Colorlib 分享的 WordPress 安全最新統計資料顯示

每天至少有 13,000 個 WordPress 網站遭到駭客攻擊。

因此,為了保護您的網站,您必須限制 WordPress 網站的登入嘗試。

如果您想知道如何限制登入嘗試,不用擔心。 在本逐步教學中,我們將向您展示如何將 WordPress 中的登入嘗試限制在 10 分鐘內(保證)。

興奮的? 驚人的。 讓我們開始吧!

為什麼應該限制 WordPress 中的登入嘗試

限制網站登入嘗試的主要原因是為了保護您的網站。 以下是限制登入嘗試的 3 個主要原因:

(一)阻止暴力攻擊

暴力攻擊是一種常見策略,駭客使用自動化工具反覆猜測使用者名稱和密碼,直到獲得存取權限。

預設情況下,WordPress 允許無限制的嘗試,使攻擊者很容易透過反覆試驗獲得成功。 限制嘗試會顯著降低暴力攻擊成功的機會。

(二)防止撞庫

憑證填充涉及使用竊取的使用者名稱和密碼組合(來自其他資料外洩)來嘗試登入不同的網站。

透過有限的嘗試,即使使用被盜的憑證,攻擊者也會在猜測正確的憑證之前被鎖定。

(三)減輕安全負擔

無限制的嘗試可能會導致大量登入請求,使您的伺服器不堪重負並影響網站效能。

限制嘗試可以減少登入失敗的次數,從而減輕伺服器資源的壓力。

另請閱讀:2024 年詳細的 WordPress 網站安全檢查表

限制 WordPress 登入嘗試的 2 種簡單方法

這是部落格的專題圖片 - 如何限制 WordPress 中的登入限制

現在您知道為什麼應該限制登入嘗試了。 是時候向您展示如何做到這一點了。 WordPress 中限制登入嘗試的方法主要有兩種。 他們是:

  • 使用插件限制登入嘗試
  • 手動限制登入嘗試

我們將透過所需的螢幕截圖和程式碼向您展示這兩種方法。 那麼,事不宜遲,讓我們開始教學吧!

方法01:使用外掛限制WordPress中的登入嘗試

老實說,有幾個 WordPress 限制登入嘗試外掛程式可用。 您可以進入 WordPress 外掛程式儲存庫並簡單地搜尋外掛程式 - “WordPress 限制登入外掛程式”,您將獲得許多外掛程式。 根據您的選擇選擇一個值得信賴的插件。

然而,在本教學中,我們將使用「限制重新載入登入嘗試」外掛程式來向您展示如何限制 WordPress 網站的登入嘗試。 這是該類別中最受歡迎的插件,活躍安裝量超過 200 萬,並獲得令人難以置信的 4.9 分(滿分 5 分)。

現在讓我們開始教學吧!

步驟01:安裝限制登入嘗試重新載入插件

登入您的 WordPress 後端並導航至外掛程式 -> 新增外掛程式。 有一個搜尋框可以搜尋插件。 輸入外掛名稱 - Limit Login Attempts Reloaded,然後從搜尋結果安裝該外掛程式。

最後,啟動插件以在您的網站上使用它。

此螢幕截圖顯示如何安裝和啟動「限制登入嘗試重新載入」插件

步驟02:設定限制登入嘗試重新載入插件

啟動外掛後,導覽至您的 WordPress 儀表板。 您會在左側面板上找到一個新選項 -限制登入嘗試

現在將滑鼠懸停在「限制登入嘗試」選項上,然後按一下「設定」按鈕。 它將帶您進入一個新介面。

您可以在此處按一下 GDPR 合規性選項,以在登入頁面上顯示 GDPR 訊息。 此外,您應該在此處插入您的電子郵件,以獲取有關誰被鎖定在您的網站之外的最新資訊。

這是「限制登入嘗試重新載入」設定頁面的螢幕截圖

現在向下滾動一點並關注本地應用程式部分。

有幾個選項需要配置:

  • 允許的重試:鎖定先前允許的失敗嘗試次數。
  • 分鐘鎖定:鎖定時間(以分鐘為單位)。
  • 鎖定時間:指定的鎖定次數後,鎖定時間將增加指定的小時數。
  • 重置重試前的小時數:刪除區塊之前的時間(以小時為單位)。
這是顯示限制登入嘗試設定的螢幕截圖

配置這些選項後,不要忘記點擊「儲存設定」按鈕來儲存所有變更。

步驟 03:檢查是否正常運作

現在從您的 WordPress 網站登出並嘗試使用錯誤的憑證再次登入。 如果它顯示剩餘的嘗試次數或將您鎖定,我們可以說它工作正常。

這是 WordPress 登入頁面的螢幕截圖

現在導航至「限制登入嘗試」->「儀表板」以檢查失敗的登入報告。

就這樣!

這就是您如何使用 WordPress 外掛程式限制網站上的登入嘗試。

方法02:手動限制登入嘗試(編碼)

如果您不想添加額外的插件來限制登入嘗試,可以透過存取functions.php 檔案來實現。

為此,您需要登入控制面板 (cPanel)。 然後導覽至檔案總管 -> public_html -> wp-content -> 主題-> 您目前啟動的主題。

在那裡您將找到functions.php檔案。

此圖顯示了functions.php 文件

點擊該文件並將此程式碼貼到文件底部。

最後,儲存文件以完成此過程。

 function check_attempted_login( $user, $username, $password ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); if ( $datas['tried'] >= 3 ) { $until = get_option( '_transient_timeout_' . 'attempted_login' ); $time = time_to_go( $until ); return new WP_Error( 'too_many_tried', sprintf( __( '<strong>ERROR</strong>: You have reached authentication limit, you will be able to try again in %1$s.' ) , $time ) ); } } return $user; } add_filter( 'authenticate', 'check_attempted_login', 30, 3 ); function login_failed( $username ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); $datas['tried']++; if ( $datas['tried'] <= 3 ) set_transient( 'attempted_login', $datas , 300 ); } else { $datas = array( 'tried' => 1 ); set_transient( 'attempted_login', $datas , 300 ); } } add_action( 'wp_login_failed', 'login_failed', 10, 1 ); function time_to_go($timestamp) { // converting the mysql timestamp to php time $periods = array( "second", "minute", "hour", "day", "week", "month", "year" ); $lengths = array( "60", "60", "24", "7", "4.35", "12" ); $current_timestamp = time(); $difference = abs($current_timestamp - $timestamp); for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i ++) { $difference /= $lengths[$i]; } $difference = round($difference); if (isset($difference)) { if ($difference != 1) $periods[$i] .= "s"; $output = "$difference $periods[$i]"; return $output; } }

現在從您的 WordPress 網站登出,然後再次嘗試使用錯誤的憑證登入。 如果它將您鎖定在您的網站之外,則表示您已成功為您的 WordPress 網站實現了限制登入嘗試功能。

這是 WordPress 登入頁面的螢幕截圖

恭喜!

現在您知道如何在使用或不使用外掛程式的情況下限制 WordPress 中的登入嘗試。

獎勵:提高登入安全性的最佳實踐

提高 WordPress 網站的登入安全性對於保護您的網站及其資料免遭未經授權的存取至關重要。

以下是增強登入安全性的一些最佳實踐:

  • 設定強登入密碼:使用複雜且唯一的密碼進行 WordPress 登入。 避免使用「password123」等常見密碼或容易猜到的短語。 選擇大小寫字母、數字和特殊字元的混合。 較長的密碼通常較安全。 此外,請考慮使用密碼管理器來產生並安全地儲存您的密碼。
  • 使用 reCAPTCHA :將 reCAPTCHA 整合到您的登入頁面中,以防止自動機器人嘗試暴力進入您的網站。 reCAPTCHA 要求使用者透過完成簡單的挑戰(例如選擇圖像或解決謎題)來驗證自己是人類。 這有助於阻止惡意機器人,同時允許合法用戶無障礙地訪問您的網站。
  • 實施雙重認證 (2FA) :啟用雙重認證可在密碼之外提供額外的安全層。 使用 2FA,除了密碼之外,使用者還需要提供第二種形式的驗證,例如發送到其行動裝置或由身份驗證應用程式產生的臨時代碼。 即使密碼被洩露,這也會顯著降低未經授權存取的風險。
  • 停用不活動使用者:定期檢查和停用不活動使用者帳戶,以最大限度地降低未經授權存取的風險。 未使用或休眠的帳戶很容易成為駭客利用的目標。 考慮實施自動化流程來停用在指定時間內不活動的帳戶或要求使用者定期確認其活動。

透過實施這些最佳實踐,您可以大幅提高 WordPress 網站的登入安全性,降低未經授權的存取風險並增強針對惡意活動的整體防護。

總結如何在 WordPress 中限制登入嘗試

這就是我們關於限制 WordPress 登入嘗試的指南! 請記住,這個簡單的步驟可以在保護您的網站免受線上威脅方面發揮巨大作用。 這就像在您的數位門上加一把鎖——對於保護您的寶貴資訊至關重要。

當您繼續開發網站時,請牢記安全性。 隨時了解最新的安全提示,並準備好根據需要調整您的措施。 畢竟,確保網站安全是一項持續的工作。

因此,請對加強網站的安全充滿信心。 透過限制登入嘗試,您不僅可以保護自己,還可以保護您的訪客。 為建立一個更安全、更快樂的 WordPress 社群而乾杯——一步一步來。 確保安全並保持在線繁榮!

訂閱 weDevs 博客

我們每週發送時事通訊,確保沒有垃圾郵件