当我们的WordPress网站创建成功后,我们可以通过默认的登录地址,www.mydomain.com/wp-admin登录后台管理网站。这个地址后缀很好记,给建站人提供了便利。便利的同时,也带来了风险,特别是对于那些不怀好意的攻击者来说,可以很容易地定位到你的后台地址,进而展开很多恶意操作。
很多站长常见的处理方式是直接隐藏默认后台登录地址,这种方法确实一定程度上起到了作用,但还远远不够。
针对网站登陆安全,下面各种方案供参考。
隐藏网站默认登陆地址
这种方法有局限。因为:
隐藏可能无法彻底
即使我们隐藏了默认登录地址,还是会有很多方法能够探测到新的真实的登录地址。
禁用XML-RPC
登录地址只是登录后台的选项之一
我们在浏览器中输入www.mydomain.com/wp-admin,会看到一个对用户很友好的登录界面。其实,如果是要登录后台,还有很多其他方式,比如XML-RPC。
XML-RPC(XML Remote Procedure Call)是从WordPress 3.5版本开始推出一个新功能,它是一种远程通信协议,允许外部应用程序通过简单的XML消息与WordPress网站进行通信,以执行各种操作,如发布文章、获取文章列表、管理评论等。
最典型的例子,WordPress自己推出的WordPress客户端应用程序,有电脑端,也有手机端。

如果我们在手机里安装这个程序,我们在手机上输入网站地址,用户名和密码,也可以登陆后台,进行管理操作。
当用户在移动应用程序中登录他们的WordPress账户时,移动应用程序会通过XML-RPC协议向WordPress网站发送认证请求。WordPress网站会验证用户提供的凭据,并返回一个认证令牌(例如会话令牌或授权令牌),以便应用程序在以后的通信中使用。
所以,如果我们禁止XML-RPC功能,在应用上登陆会立马报错,并提示错误是因为XML-RPC功能被禁用。

一旦用户登录成功并且应用程序获取了认证令牌,应用程序可以使用XML-RPC协议执行各种操作,如发布文章、管理评论、上传媒体文件等。这些操作将通过HTTP协议在移动设备和WordPress网站之间进行通信,以XML格式进行编码和解码。
总结:
我们通过浏览器输入网址访问后台,这种方式其实是通过调用的wp-login.php来实现的。当用户尝试访问www.mydomain.com/wp-admi路径时,WordPress会自动重定向到www.mydomain.com/wp-login.php页面,要求用户输入用户名和密码进行登录。
我们通过客户端访问后台,这种方式通常是通过调用xmlrpc.php
来实现的。客户端应用程序使用XML-RPC协议与WordPress网站进行通信,来执行各种操作,如登录、发布文章、管理评论等。
客户端应用程序会发送XML-RPC请求到WordPress网站的xmlrpc.php
文件,并包含所需的操作和参数。WordPress网站接收到这些请求后,执行相应的操作,并返回结果给客户端应用程序。
通过使用XML-RPC协议,客户端应用程序可以远程管理WordPress网站,而无需直接访问WordPress的后台管理界面。这使得用户可以使用移动设备或其他外部应用程序轻松管理WordPress网站。
使用非常见用户名
很多人在安装WordPress时,用户名会保持默认,这种默认的用户名也是一种风险。
比如admin,或者直接用网站域名做用户名,都是攻击者经常暴力破解的首选用户名,建议更改。
使用强密码
密码不是设置简单的比如adb123,这种安全等级极低的密码,强烈不推荐。建议密码越复杂越好,最好使用机器生成无规律的复杂密码。其实现在浏览器都有记忆密码的功能,所以即使密码很复杂,也不会增加我们的不便。
启用双重验证
双重验证现在已经非常普遍了,比如手机微信,如果在陌生的手机登陆,除了输入密码外,会要要求短信或者其他验证方式,我们在网站上,也可以设置双重验证,设置后,当我们尝试登陆网站时,除了输入用户名和密码,还会额外要求输入双重验证码,双重验证码是显示在手机的某个应用上,且验证码是随机的,每隔几十秒就会更新一次。
使用了以上步骤,你的网站登陆安全应该提升一个等级了。如果你觉得还不够。
那么继续往下看。
假设攻击者
- 知道了你的真实登陆地址
- 破解了你的用户名
- 破解了你的密码
- 甚至也获取了你的二次验证码
那也太背了吧。这种情况下,还可以考虑限制IP。
限制登陆IP
我们可以限制只有某个Ip才能访问登陆地址。这种方法通常比较激进。通常很少会用到。如果要使用,首先得保证那个Ip是固定的,而不是经常会变化的,不然你自己访问都会被拒绝。
所以,有没有这种情况
攻击者:
- 知道了你的真实登陆地址
- 破解了你的用户名
- 破解了你的密码
- 甚至也获取了你的二次验证码
- 甚至还使用了白名单的IP
我觉得那个人几乎只可能是站长自己。如果不是,那就躺平吧。攻击者太牛了,拜他为师吧。
当然,即使做了以上所有步骤,网站还是有可能被攻破,
最可能的实现方式就是漏洞
WordPress漏洞、主题漏洞、插件漏洞都是可能的选项。
所以,安全没有绝对的安全。及时备份,多手准备,以备不时之需。