隐藏wp login.php,Wordpress 隐藏登陆链接

用过Wordpress做博客或者建站的朋友,都会知道Wordpress默认的登陆地址是wp-login.php,很多恶意程序就是通过爬这个地址,尝试使用常见的用户名密码组合来入侵Wordpress。

尽管我们可以通过使用复杂的用户名、高强度的密码来防止恶意程序的猜测,或者通过插件来检测类似行为并通过阻止对方IP等方式来限制对方访问,但是何不在源头上就解决掉呢?比如说换个登陆地址,让恶意脚本找不到?

修改wp-login.php

说干就干,我来把wp-login.php改成abc-login.php。首先备份一下wp-login.php,然后使用使用vi编辑器打开wp-login.php:

vi wp-login.php

一看呦呵,这文件里好多处引用到wp-login.php本身,所以光改文件名是不行的,让我来个全局替换吧。在vi命令模式下输入以下指令,并回车:

%s/wp-login.php/abc-login.php/g

返回提示信息如下:

325a9e46dec929cbd1c9f4cdf2af40de.png

足足12处啊,丧心病狂!

然后保存文件并退出,命令模式下输入以下指令,并回车:

wq

重命名wp-login.php

将wp-login.php修改为abc-login.php

mv wp-login.php abc-login.php

然后试了一下,可以使用abc-login.php正常登陆wordpress后台了,但是登陆后却无法退出,退出时提示wp-login.php找不到,囧。

修改general-template.php

查了一下,退出时链接地址是通过wp-includes/general-template.php传递的,所以我们编辑一下这个地址就行:

vi wp-includes/general-template.php

将function wp_logout_url($redirect = '')中的如下语句:

$logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));

修改为:

$logout_url = add_query_arg($args, site_url('abc-login.php', 'login'));

这个文件中还有几处引用到wp-login.php,但是不建议修改,比如login啊、lostpassword啊、registration啊,因为这些地址还是不暴露的好,除非我们真的有需要。

比如这个文件中的login,我们修改成正确的地址,用户就可以通过访问wp-admin直接重定向到abc-login.php,这样我们隐藏wp-login.php的地址就变得没有意义了。

保存退出,之后再尝试,发现登陆登出都已经正常啦,哦,对了在页面模板中记得去掉登陆链接。

其它方式

除了上述方式,还可以使用插件方式,比如说WPS Hide Login或者Better WP Security等插件,但是这些东西,个人认为引入越多风险越高,还是暴力修改比较舒服。

当然了,具体选择什么方式,还看自己喜好啦,以上仅一家之言,仅供参考。另外郑重提醒,记得备份,改坏了别找我啊,这个锅我是不会背的。

This page is synchronized from the post: Wordpress 隐藏登陆链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第九节: 利用RemoteScheduler实现Sheduler的远程控制

一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上控制这个Scheduler。 2. 猜想: A服务器上的Scheduler需要有地址、需要有端口、需要有名称(实际上也是如此)。 3. 需求: 一个控制台程序…

oracle扩容日志文件,调整Oracle Redo Logfile日志文件的大小

1、扩容lvlvextend -L 1G /dev/oravg/lv_redolog11lvextend -L 1G /dev/oravg/lv_redolog12lvextend -L 1G /dev/oravg/lv_redolog212、调整了一下大小,将每个日志文件调整为2Gselect * from v$logfile;查看属于哪个裸设备。group 1属于/dev/raw/raw10、group 2属于…

渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash

0x00 前言 在上篇文章《Windows下的密码hash——NTLM hash和Net-NTLM hash介绍》比较了NTLM hash和Net-NTLM hash的区别,本文将继续对Net-NTLM hash在内网渗透中的应用作介绍,解决一个有趣的问题: 如果获得了内网一个文件服务器的权限&#…

第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :

背景: 默认情况下,Quartz.Net作业是持久化在内存中的,即 quartz.jobStore.type "Quartz.Simpl.RAMJobStore, Quartz",这种模式有以下弊端: ① 想在A服务器上控制B服务器上已经发布了的job和trigger不方便&a…

第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式

背景: 默认情况下,Quartz.Net作业是持久化在内存中的,即 quartz.jobStore.type "Quartz.Simpl.RAMJobStore, Quartz",这种模式有以下弊端: ① 想在A服务器上控制B服务器上已经发布了的job和trigger不方便&a…

任务调度开源框架Quartz动态添加、修改和删除定时任务

Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。Quartz 允许开发人员根据时间间隔(或…

第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)

一. IIS部署 比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着MVC框架被挂在IIS下,IIS会进程回收,所以大部分开发都会遇到Quartz挂在IIS下一段时间不好用。 补充:IIS可以设置定时自动回收,默认回收是174…

[你必须知道的.NET] 第二回:对抽象编程:接口和抽象类

本文将介绍以下内容: • 面向对象思想:多态 • 接口 • 抽象类 1. 引言 在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造…

Linux 启动失败 磁盘阵列,组建RAID5重启系统,出现md127的解决办法

我这里在组建RAID5之后重启了系统,当时/dev/md0变成了/dev/md127。出现这问题主要是我没有配置生成/etc/mdadm.conf文件,如果哪位伙伴出现类似我这种情况,而不是通过我这种方法解决的,希望能分享一下你的解决方法,谢谢…

[你必须知道的.NET] 第三回:历史纠葛:特性和属性

本文将介绍以下内容: • 定制特性的基本概念和用法 • 属性与特性的区别比较 • 反射的简单介绍 1. 引言 attribute是.NET框架引入的有一技术亮点,因此我们有必要花点时间来了解本文的内容,走进一个发现attribute登堂入室的入口。因为.N…

Linux的性能故障的含义,Linux排查性能故障的方法

好了,鉴于我们的Linux发行版现已安装,许多方面看起来似乎根本不“好”。今天我们将介绍为安装的Linux排查性能故障的方法。虽然今天的这篇文章明显倾向于Ubuntu,但我们探讨的几乎一切内容都同样适用于每个Linux发行版。要是哪些命令是专门针对…

[你必须知道的.NET] 第四回:后来居上:class和struct

本文将介绍以下内容: • 面向对象基本概念 • 类和结构体简介 • 引用类型和值类型区别 1. 引言 提起class和struct,我们首先的感觉是语法几乎相同,待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程,class和stru…

linux shell跳板机,用shell开发跳板机

信号列表:在linux中和信号相关的常见命令为kill及trap命令,下来如何利用trap控制跳板机脚本来使用命令:命令:kill -l 和 trap -l企业实战中linux系统的重要信号及说明HUP(1) 挂起INT(2) 中断OUIT(3) 退…

[你必须知道的.NET] 第五回:深入浅出关键字---把new说透

本文将介绍以下内容: 面向对象基本概念new关键字深入浅出对象创建的内存管理 1. 引言 园子里好像没有或者很少把new关键字拿出来说的,那我就占个先机吧,呵呵。那么,我们到底有必要将一个关键字拿出来长篇大论吗?看来…

linux tcp server开源,GitHub - 06linux/cellnet: 高性能,简单,方便的开源服务器网络库...

cellnetcellnet是一个高性能,简单,方便的开源服务器网络库自由混合编码,业务代码无需调整。TCP和html5的应用都可以直接使用cellnet迅速搭建服务器框架。与Java的Netty或Mina网络库类似的Handler机制将给予强大定制功能。特性数据协议支持混合…

[你必须知道的.NET] 第六回:深入浅出关键字---base和this

本文将介绍以下内容: 面向对象基本概念base关键字深入浅出this关键字深入浅出1. 引言 new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题&…

[你必须知道的.NET] 第七回:品味类型---从通用类型系统开始

本文将介绍以下内容: .NET 基础架构概念 类型基础通用类型系统CLI、CTS、CLS的关系简述1. 引言 本文不是连环画,之所以在开篇以图形的形式来展示本文主题,其实就是想更加特别的强调这几个概念的重要性和关注度,同时希望从剖析其关…

[你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理

本文将介绍以下内容: 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用1. 引言 买了新本本,忙了好几天系统,终于开始了对值类型和引用类型做个全面的讲述了,本系列开篇之时就是因为想写这个主题,…

[你必须知道的.NET]第九回:品味类型---值类型与引用类型(中)-规则无边

接上回[第八回:品味类型---值类型与引用类型(上)-内存有理]的探讨,继续我们关注值类型和引用类型的话题。 本文将介绍以下内容: 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用1. 引…

[你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途

本文将介绍以下内容: 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用 [下载]:[类型示例代码] 1. 引言 值类型与引用类型的话题经过了两个回合([第八回:品味类型---值类型与引用类型(上&#xf…