首頁 >後端開發 >php教程 >您是否知道沒有插件可以保護WordPress管理URL?

您是否知道沒有插件可以保護WordPress管理URL?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-29 16:07:09319瀏覽

增強WordPress後台URL安全性的方法,無需插件!

Did you know you can secure WordPress admin URL without a plugin?

本文介紹一種100%有效的WordPress後台URL安全增強方法,無需安裝任何插件。只需將以下代碼複製粘貼到您的functions.php文件中,或使用代碼片段插件進行粘貼。

/your-url/ 部分可以根據您的需求任意修改。

  1. 重定向直接訪問wp-login.php

<code class="language-php">function redirect_default_login() {
    // 如果有人尝试直接访问wp-login.php(未登录或登出),则重定向他们。
    if (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false && !isset($_POST['log']) && (!isset($_GET['action']) || $_GET['action'] !== 'logout')) {
        wp_safe_redirect(home_url()); // 将他们重定向到主页(或您指定的其他页面)。
        exit; // 停止进一步执行。
    }
}
add_action('init', 'redirect_default_login');</code>
  • 功能:此函數檢查是否有人嘗試直接訪問默認的WordPress登錄頁面(wp-login.php)。如果是,並且他們實際上並非嘗試登錄或註銷,則將其重定向到主頁(或您指定的其他安全URL)。
  • 優勢:有助於隱藏默認登錄頁面,通過使機器人或攻擊者更難以找到您的登錄頁面來提高安全性。
  1. 使用自定義登錄URL

<code class="language-php">function handle_custom_login_url() {
    // 定义您的自定义登录slug(例如,“your-url”)。
    $custom_login_slug = 'your-url'; // 这是您要用于登录的自定义URL。

    // 检查是否有人正在访问自定义登录URL。
    if (strpos($_SERVER['REQUEST_URI'], $custom_login_slug) !== false) {
        // 显示WordPress登录页面。
        require_once ABSPATH . 'wp-login.php';
        exit; // 停止进一步执行。
    }
}
add_action('init', 'handle_custom_login_url');</code>
  • 功能:此函數創建一個自定義登錄URL(例如,yoursite.com/your-url)。當有人訪問此URL時,它會加載默認的WordPress登錄頁面(wp-login.php),但地址欄中會保留自定義URL。
  • 優勢:允許您使用自定義的、難以猜測的URL進行登錄,從而增加了額外的安全層。
  1. 防止默認登錄操作

<code class="language-php">function prevent_default_login_action($action) {
    // 如果有人尝试使用默认登录操作并且他们不在自定义登录页面上,则重定向他们。
    if ($action === 'login' && strpos($_SERVER['REQUEST_URI'], 'your-url') === false) {
        wp_safe_redirect(home_url());
        exit; // 停止进一步执行。
    }
}
add_action('login_init', 'prevent_default_login_action');</code>
  • 功能:此函數確保默認登錄操作(例如,提交登錄表單)僅在用戶位於自定義登錄頁面(your-url)上時才有效。如果他們嘗試從默認的wp-login.php頁面登錄,他們將被重定向到主頁。
  • 優勢:強制使用您的自定義登錄URL並阻止訪問默認登錄頁面。
  1. 自定義註銷重定向

<code class="language-php">function custom_logout_redirect() {
    // 注销后,将用户重定向到自定义登录页面。
    wp_safe_redirect(home_url('/your-url')); // 将他们发送到自定义登录页面。
    exit; // 停止进一步执行。
}
add_action('wp_logout', 'custom_logout_redirect');</code>
  • 功能:當用戶註銷時,此函數會將其重定向到您的自定義登錄URL(your-url),而不是將其發送到默認的註銷頁面。
  • 優勢:通過始終在註銷後將用戶定向到您的自定義登錄頁面,確保一致的用戶體驗。

代碼功能總結:

隱藏默認登錄頁面(wp-login.php),如果用戶嘗試直接訪問它,則將其重定向到主頁。

創建自定義登錄URL(例如,yoursite.com/your-url),用於顯示WordPress登錄頁面。

阻止默認登錄操作,除非用戶位於自定義登錄頁面上。

在用戶註銷後將其重定向到自定義登錄頁面。

總而言之,此設置通過使攻擊者更難以找到和利用您的登錄頁面來提高安全性,同時為合法用戶提供無縫的體驗。

感謝您的閱讀,期待將來與您分享更多內容。

關注我的其他平台: LinkedIn | Medium | Bluesky

以上是您是否知道沒有插件可以保護WordPress管理URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn