3种不使用插件更改 WordPress 默认管理后台地址方法

news/2024/7/10 18:53:29 标签: php, 开源

WordPress 默认管理登录地址是 /wp-login.php 或者只需输入/wp-admin/ 这个很容易暴力破解,所以修改下默认管理地址还是很有必要!

方法1: 修改function.php文件
登陆WordPress后台管理,在左侧找到外观-主题编辑器,然后在右侧找到functions.php,在functions.php中添加以下代码:

//修改后台管理地址
function login_protection(){
if($_GET['hello'] != '333')header('Location: https://yourname.com/');
}
add_action('login_enqueue_scripts','login_protection');

这样只有访问 https://yourname.com/wp-login.php?hello=333,才会打开登录页,否则就会自动跳转到首页。应用的时候请将代码中的’hello’、’333’、https://yourname.com/ 这三个位置换成自己的内容。此方法可能与某些插件冲突不生效。

方法2: 修改wp-login.php文件
在服务器或cPanel面板找到根目录下的wp-login.php,打开并编辑文件,复制所有代码。新建一个文件,命名为:ma-login.php。打开并编辑ma-login.php,粘贴刚才复制的代码,并替换代码中所有 wp-login.php 为 ma-login.php,保存文件。下载保存wp-login.php,避免代码有问题的时候可以恢复。此时管理地址为:https://yourname.com/ma-login.php

如果以上办法都生效就还可以搞个加强版:在以上两点都修改的情况下,在根目录找到wp-includes文件夹,找到此文件夹下general-template.php文件,打开并编辑此文件。在代码中搜索:$login_url,找到以下代码:

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

	if ( ! empty( $redirect ) ) {
		$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
	}

	if ( $force_reauth ) {
		$login_url = add_query_arg( 'reauth', '1', $login_url );
	}

将代码替换为:

$login_url = site_url( 'index.php', 'login' );
/*
	if ( ! empty( $redirect ) ) {
		$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
	}

	if ( $force_reauth ) {
		$login_url = add_query_arg( 'reauth', '1', $login_url );
	}
*/

以上代码意思为:在访问wp-admin,或wp-login.php的时候访问网站首页。你也可以将index.php替换成404.php,并注释掉下面的代码避免重定向次数过多。

此时后台登陆地址为:https://yourname.com/ma-login.php?hello=333

方法3: 修改.htaccess文件
首先将wp-admin目录改名,比如改成ad-wp,然后在.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文件,访问/ad-wp 的话会直接替换成/wp-admin下的对应文件。也就是说访问/ad-wp与访问wp-admin的结果是一样的,但是访问wp-admin则行不通。

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

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

wp-admin/includes/media.php

wp-includes/script-loader.php

wp-includes/link-template.php

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

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

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


http://www.niftyadmin.cn/n/5463521.html

相关文章

SSL证书公钥长度显示问题

在进行iOS端的App备案时,需要提供App签名证书的公钥以及证书指纹信息。在最终核对信息时,在windows上确认发现公钥对不上,经再三确认,证书原始信息无误,但其在MAC系统上显示的公钥信息和windows上显示的公钥信息并不一…

【C++】list介绍

个人主页 : zxctscl 如有转载请先通知 文章目录 1. list介绍2. list的构造3. ist iterator的使用4. capacity5. element access6. modifiers7. 迭代器失效8. Operations8.1 reverse8.2 sort8.3 unique8.4 splice 1. list介绍 list是可以在常数范围内在任意位置进行插…

Sora 基础作品之 DiT:Scalable Diffusion Models with Transformer

Paper name Scalable Diffusion Models with Transformers (DiT) Paper Reading Note Paper URL: https://arxiv.org/abs/2212.09748 Project URL: https://www.wpeebles.com/DiT.html Code URL: https://github.com/facebookresearch/DiT TL;DR 2022 年 UC Berkeley 出…

Pytorch:torchvision.transforms.Compose

transforms.Compose 是PyTorch库中torchvision.transforms模块提供的一个功能,它允许将多个图像变换操作组合起来。当你在处理图像,并需要依次应用多个变换(如缩放、裁剪、归一化等)时,Compose可以把这些变换串联成一个…

Go 语言学习一篇入门

Goloang的优缺点 Goloang的优点 极其简单的部署方式 可直接编译成机器码不依赖其他库直接运行即可部署 语言层面的并发 天生的基因支持充分的利用多核 强大的标准库 runtime 系统调度机制高效的GC垃圾回收丰富的标准库 Goloang的不足 包管理,大部分包都在g…

微信小程序wx.navigateTo无法跳转到Component组件问题解决。(共享元素动画必备)

关于Component构造器官方是有文档说明的,然后官方文档内部也给出了组件是可以通过像pages一样跳转的。但是官方文档缺少了必要的说明,会引起wx.navigateTo无法跳转到组件问题! 以下是官方文档截图: 解决方式: 组件创建…

通过MobaXterm工具可视化服务器桌面

一、MobaXterm工具 MobaXterm是一款功能强大的远程连接工具,可以连接到各种类型的服务器,包括Linux、Windows和MacOS。支持多种协议,包括SSH、RDP、VNC和Telnet MobaXterm可以通过X11转发功能可视化服务器桌面。 二、MobaXterm工具可视化服务…

TransmittableThreadLocal 问题杂记

0、前言 TransmittableThreadLocal,简称 TTL,是阿里巴巴开源的一个Java库,它能够实现ThreadLocal在多线程间的值传递,适用于使用线程池、异步调用等需要线程切换的场景,解决了ThreadLocal在使用父子线程、线程池时不能…