您好!欢迎来到模板下载吧!本站资源24小时自动发货,请放心选购,一次付费,终身下载,售后请提交工单!

最新修改wordpress登录后台地址增加安全性

半岛未凉°【美工】❾ 2018-07-29 WP技术 - 站长学院 2325 已收录 本文共3772个字,预计阅读需要10分钟。
  • 文章介绍
  • 快速入门
  • 增值服务

很多wordpress博主都设置了登录才能评论的功能,这样一来就必须允许用户注册,很多博主会认为游客和管理员共用一个登录地址会造成安全问题,或者单纯就是为了管理员单独开启一个登录入口。

关注这个问题,百度找到的答案最多的就是修改wp-login.php和general-template.php,对于很对用户很不方便,并且一旦程序更新又要重新修改。下面就介绍一种不用修改文件,单纯通过钩子实现的方法。

效果:只能通过自定义的地址登录wp,原wp-login.php返回404。

首先,通过login_url修改wp_login_url()函数返回的登录地址,该函数被很多主题调用以跳转到登录页;通过logout_url修改wp_logout_url()函数返回的登录地址。

  1. login_url过滤器包含三个参数,$login_url$redirect$force_reauth,其中
  2. $login_url(必须),登录用的自定义url,例如http://example.com/my-login-page,默认wp-login.php
  3. $redirect(可选) 登录成功后重定向的地址,默认无。

$force_reauth(布尔值,可选),如果为true,无论cookie什么值,都强制重新认证。

  1. add_filter( <span class="hljs-string">'login_url'</span>, <span class="hljs-string">'my_login_page'</span>, <span class="hljs-number">10</span>, <span class="hljs-number">3</span> );
  2. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">my_login_page</span><span class="hljs-params">( $login_url$redirect$force_reauth )</span> </span>{
  3. <span class="hljs-keyword">return</span> home_url( <span class="hljs-string">'/my-login-page/?redirect_to='</span> . $redirect );
  4. }

通过以上代码,登录地址则变为/my-login-page

logout_url过滤器需要两个参数,$logout_url和$redirect
$logout_url登出wordpress的url,也就是后台右上角的“登录”的url
$redirect 成功登出后跳转到的地址

  1. add_filter( <span class="hljs-string">'logout_url'</span>, <span class="hljs-string">'my_logout_page'</span>, <span class="hljs-number">10</span>, <span class="hljs-number">2</span> );
  2. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">my_logout_page</span><span class="hljs-params">( $logout_url$redirect )</span> </span>{
  3. <span class="hljs-keyword">return</span> home_url( <span class="hljs-string">'/my-logout-page/?redirect_to='</span> . $redirect );
  4. }

通过以上代码,登出url更改为/my-logout-page

注:通常情况下,我们不会为登录和登出设定两个url,而是通过类似 /my-login-page?action=logout实现登出功能。

第二步,让wp-login.php返回404。

这里需要用到wp_init钩子,判断请求的url是否wp-login.php,如果是,则redirect到404地址。

  1. add_action(<span class="hljs-string">'login_enqueue_scripts'</span>,<span class="hljs-string">'wp_login_php_404'</span>);
  2. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">wp_login_php_404</span><span class="hljs-params">()</span></span>{
  3. $request = parse_url(<span class="vars">$_SERVER</span>[<span class="string"><span class="hljs-string">"REQUEST_URI"</span></span>]);
  4. <span class="hljs-keyword">if</span>($request[<span class="hljs-string">'path'</span>] == <span class="hljs-string">'/wp-login.php'</span> &amp;&amp; str_pos(wp_get_refer(),home_url( <span class="hljs-string">'/my-logout-page'</span> )) !==<span class="hljs-number">0</span> ){
  5. wp_safe_redirect(home_url(<span class="hljs-string">'/404'</span>));
  6. }

第三步,根目录新建my-login-page,内容只需一行。

require_once('wp-login.php');

其实第三步还有一种是实现方式是类似于第二步的,通过wp_init判断请求地址,如果是my-login-page,则require wp-login.php,可以避免手动新建my-login-page文件。

通过以上三步就完成了wordpress登录地址的自定义。下一篇将介绍如何通过插件为管理员和非管理员指定不同的登录地址。


其他方式

方法1:使用插件

利:简单高效,一键设置

弊:插件太多会使博客响应变慢,不利于用户体验

操作:后台插件列表中搜索安装 Limit Login Attempts, 这款插件安装并启用后就不需要做其他得设置了。如果有人连续登陆失败,这个插件会临时屏蔽他的 IP 地址,使其无法继续登录。

 

方法2:代码法

利:不使用插件,简单几行代码轻松搞定安全问题,对网站的影响为0

弊:不懂代码的朋友操作起来会比较费劲

操作:鉴于有一部分朋友不懂代码,下面我将详细的代码写出来,大家只要照着做就行:

1、打开当前主题的functions.php 文件,查找路径为:根目录-/wp-content/-/themes/-/你的主题名/-functions.php

2、复制这段代码:

  1. //保护后台登录
  2. function login_protection(){
  3. if($_GET[‘word’] != ‘mbxzb’)header(‘Location: http://www.mbxzb.com/’);
  4. }
  5. add_action(‘login_enqueue_scripts’,’login_protection’);

3、粘贴到functions.php的结尾处,要在?>之上。

4、覆盖上传,这样只有打开 https://www.mbxzb.cn/wp-login.php?word=mbxzb,才会打开登录页,否则就会自动跳转到 https://www.mbxzb.cn/

注意:这是我为我的博客的设置,你要操作的话,就要把www.mbxzb.com以及word后面的替换成你的,也就是要打开“你的网站/wp-login.php?word=关键词”这条连接。

方法3:修改文件名

利:暴力直接

弊:也没啥弊端,只是这样不符合我的SEO审美(处女座怪癖….)

操作:将wp-login.php修改成wp-mbxzb.php,然后打开这个文件,将里面所有的wp-login.php批量替换成wp-mbxzb.php。这样登录地址便成了https://www.mbxzb.cn/wp-mbxzb.php

以上就是修改wordpress登录地址的三个比较简单的方法,当然还有很多牛逼的方法,但是对于博客来说这种方法也是够用了。

温馨提示:本文最后更新于2019年10月23日,已超过 2 年没有更新,如果文章内容或图片资源失效,请留言反馈,模板下载吧会及时处理,谢谢!

上一篇:

下一篇:

最新修改wordpress登录后台地址增加安全性:等您坐沙发呢!
大牛,别默默的看了,快来点评一下吧!:)。

您必须登录后才能发表评论哦!:)

站内登录 QQ登录 微博登录
wordpress自适应高级图片shejigh主题

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者

模板下载吧,累计帮助1000+用户成功建站,为草根创业提供助力!

立刻开启你的建站之旅
现在加入模板下载吧,注册一个账号
  • 模板下载吧拥有海量网站模板及源码,站长亲测干净无后门。

  • 注册即能下载免费模板栏目资源,帮您更快的完成网站建设。

  • 每日更新模板资源,每日精品推荐,及时获取最新模板资源流行去向。

  • 完美的售后服务,帮助草根站长、企业等成功建站。

  • 将您最爱的资源收藏,建立自己的资源库,并与朋友分享。