WordPress

WordPress 建站(优化篇)—— 默认后台登录管理地址修改

波比AI · 1月27日 · 2026年 本文共3085个字 · 预计阅读11分钟 27次已读

本篇文章内容分享给大家如何对wordpress后台地址进行修改的几种方法,供大家使用和参考,wordpress程序的默认登陆地址链接为http://xxx.com/wp-login.php。为保障网站安全性,可以修改wordpress登陆文章的名称wp-login.php后缀来防止密码被暴力破解。

一、wordpress后台登陆地址修改方法之登陆文件重命名

一、修改wordpress程序网站根目录下wp-login.php的文件名,修改为login.php(其它任意名称都可以),并将该文件login.php中出现的字符wp-login.php全部改为login.php;

二、找到根目录下的wp-includes/general-template.php文件,除代码第238行

$login_url = site_url('wp-login.php', 'login');

不要修改外,该文件内的字符wp-login.php均替换为login.php,注意完成修改后需要覆盖原文件并保存!

同时,为了保障我们的网站更加安全,我们可以使用 Limit Login Attempts, 安装并启用该插件后不需要做其他特别设置。当连续登陆失败,插件会临时屏蔽登陆 IP 地址。

二、wordpress后台登陆地址修改方法之主题函数代码法

不想通过以上复杂的修改手段达到登陆地址调整的话,我们可以直接将下面的代码复制到wordpress当前主题的 functions.php 文件中:

//保护后台登录 qintia.com

function login_protection(){
if($_GET['word'] != 'dawa')header('Location: https://www.qintia.com/');
}
add_action('login_enqueue_scripts','login_protection');

这样只有打开 http://siteurl/wp-login.php?word=dawa,才会打开登录页,否则就会自动跳转到首页

但是通过以上代码登陆后,邮箱里还是每天都收到很多登录失败的提醒邮件,于是采取了一个更加简单粗暴的方法:修改wp-login.php文件名

比如将wp-login.php修改成wa-login.php,同时还要打开这个文件,将里面所有的wp-login.php替换成wa-login.php。这样登录地址便成了http://siteurl/wa-login.php.跟前面那个方法结合起来,就成了http://siteurl/wa-login.php?word=dawa.

三、wordpress后台登陆地址修改方法之登陆文件代码法

打开wordpress根目录找到wp-login.php文件用编辑器打开在55行左右找到如下代码

if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )

add_action( 'login_head', 'wp_shake_js', 12 );

在其代码之下加上一段代码

if($_GET["qq"]!="2818442945"){ header('Location:/404 '); }

四、wordpress后台登陆地址修改方法之RewriteRule法

  1. 首先给wp-admin目录改名,比如我改成dawa,然后在.htaccess里加上如下内容:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} wp-admin/ RewriteCond %{QUERY_STRING} !

这里来个复杂字符串(数字英文横杠下划线组成)

RewriteRule .*.php [F,L] RewriteCond %{QUERY_STRING} !

与上面的那个密码相同

RewriteRule ^dawa/(.*) wp-admin/$1?%{QUERY_STRING}&

与上面的那个密码相同

这个.htaccess实现了URL的重写,禁止访问wp-admin下的所有.php文件,访问/dawa 的话会直接替换成/wp-admin下的对应文件。也就是说访问/dawa与访问wp-admin的结果是一样的,但是访问wp-admin则行不通。

更名完成,但是会有一些问题需要修改部分文件。因为wp-admin被禁止访问,而部分功能还直接调用wp-admin的.php文件。这导致上传功能将不能使用;自动保存,自定义字段都无法使用。

  1. 下面要做的就是修改几个重要文件,重新恢复这些功能:查找

wp-admin/includes/media.php

wp-includes/script-loader.php

wp-includes/link-template.php

三个文件中所有的wp-admin,换成dawa

这样edit链接与comments编辑链接将继续有效。

如果使用了wp-cache等缓存插件,一定要将你的新目录名添加到缓存过滤规则里,不然后台有的地方生成静态会很麻烦的。

五、wordpress 登录添加验证码

(一)添加验证码字段

将以下代码添加到你的主题的 functions.php 文件中:

function add_captcha_to_login_form() {
    $num1 = rand(1, 9);
    $num2 = rand(1, 9);
    echo "<p>
            <label for='math' class='small'>验证码: </label>

            <br />
            <input type='text' name='captcha' placeholder='$num1 + $num2 = ?' class='input' size='25' tabindex='4'>
            <input type='hidden' name='num1' value='$num1'>
            <input type='hidden' name='num2' value='$num2'>
          </p>";
}
add_action('login_form', 'add_captcha_to_login_form');

(二)验证用户输入的验证码

继续在 functions.php 中添加以下代码:

function validate_captcha_on_login($user, $username, $password) {
    if (isset($_POST['captcha'], $_POST['num1'], $_POST['num2'])) {
        $sum = intval($_POST['captcha']);
        $num1 = intval($_POST['num1']);
        $num2 = intval($_POST['num2']);

        if ($sum !== ($num1 + $num2)) {
            return new WP_Error('captcha_error', '<strong>错误</strong>: 验证码错误, 请重试.');
        }
    } else {
        return new WP_Error('captcha_error', '<strong>错误</strong>: 验证码未正确提交,请重试.');
    }

    return $user;
}
add_filter('authenticate', 'validate_captcha_on_login', 30, 3);

(三)测试功能

确保代码已经正确放置并清除浏览器缓存,然后尝试登录,以确认验证码功能正常工作。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!