wordpress 后台登录增加访问效验
目前已知的增加 wordpress 后台登录安全的方案有三种:
- 安全插件:如Limit Login Attempts Reloaded、WPS Hide Login 等等;
- 登录 URL 增加自定义key,因为这个key只有自己知道,所以增加了直接访问后台的困难性。
- 前后台区分 URL 访问,如
www.abc.com访问前台;admin2.abc.com访问后台。
我习惯了使用第二种方案,增加直接访问后台登录地址的困难性。
下面记录一下,个人认为需要强调的点和配置的过程。
一、主题目录下 wp-content\themes\theme\functions.php 或者 全局 wp-includes\functions.php 增加如下代码
///增加登录key,没有key跳转到首页
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['chKey'] != 'Login') header('Location: /');
}
二、接下来,说下遇到的几个问题:
1、只修改get访问,可以直接 post 请求发送账号密码,跳过了页面。
2、$_GET 下标 不能定义为 key,不然参数会消失,直接跳回首页。
3、如果输错密码,不返回重新输入密码页面,会直接跳到首页。
针对这几个问题,看下解决方案:
- 针对 post 请求解决方案:
///①、修改wp-login.php登录页面代码
<!-- 在原有的URL的基础上新增了参数 -->
<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ).'?chKey=Login'; ?>" method="post">
<!-- 新增的参数 -->
<input type="hidden" readonly="readonly" value="Login" name="chKey">
///②、调整 login_protection 函数
function login_protection(){
if($_GET['cusKey'] != 'cusLogin'){ header('Location: /'); }
if((isset( $_POST['log'] ) || isset( $_POST['pwd'] )) && $_POST['chKey'] != 'Login'){
header('Location: /');
}
}
三、仔细看的话,点击 忘记密码 也会跳到首页,一般保留好密码是不会忘记的,如果你想以防万一调整下忘记密码的 URL 即可:后缀增加 &chKey=Login。
四、调整错误信息提示
输错账号或密码时,发现提示信息并不够友好,这对于有点强迫症的我,是忍受不了的。

将 wp-login.php 文件中的代码 echo '<div id="login_error">' . apply_filters( 'login_errors', $errors ) . "</div>\n"; 修改为 echo '<div id="login_error">'. print_r($errors,true) . "</div>\n";
基本调整到此结束。
wordpress 后台登录增加访问效验的更多相关文章
- wordpress 后台登录增加访问效验,优化退出效果
之前记录了 wordpress 后台登录增加访问效验, 记录了增加后台访问地址被直接访问的困难性的修改步骤. 还有一个地方需要补充一下,就是退出. 退出的时候不做调整会直接跳到首页,这样体验很不好. ...
- 修改WordPress后台登录地址,提高安全性
大家都知道,WordPress默认的后台登陆地址是http://[你的域名]/wp-admin,今天就来讲讲怎么修改WordPress后台登录地址,首先要知道为什么要修改WordPress后台登录地址 ...
- 如何通过数据库修改WordPress后台登录密码
大家是否有过因为忘记WordPress后台登陆密码的时候?其实WordPress后台登陆密码的找回或修改的方法有多种,比如通过邮箱重启密码,又或者通过主机控制面板进入数据库修改等等.本篇教程以GoDd ...
- 保护wordpress后台登录地址
前几天有个群友的wordpress网站被后台入侵了,吓得我赶紧看了看网站日志,密密麻麻的404,扫描我的后台登录地址.还好之前有了安全措施: 纯代码保护后台登录地址,防止爆破 //保护后台登录add_ ...
- 更换WordPress后台登录地址
在后台找到wp-content—themes—twentyfifteen(当前的网站主题)—functions.php 在代码的最下面加入以下代码: //后台唯一登录地址 add_action('lo ...
- 如何修改隐藏Zblog/WordPress默认后台登录地址
我相信很多博主站长都遇到过站点被暴力破解,虽然未被破解,但是经常收到那些尝试登录失败的邮件提醒也会心慌慌的.对于这种情况,最好的办法就是修改/隐藏我们的后台登录地址. 关于zblogASP后台登录地址 ...
- thinkPHP中怎么访问域名直接跳到后台登录页面
问题: 我想只访问域名就跳到后台登录页面,怎么把地址栏里的路径隐藏掉 答案: 修改配置Common里的conf文件夹里,把默认模块改成“Admin”,默认控制器改成“login”系统默认的默认模块式h ...
- wordpress 后台无法登录 网站内容缺失
昨天网站又突然不正常了,前两天都是好的.. 具体来说就是wp后台登录不进去,一直在登录页跳转,与此同时服务器上其他网站也有这个问题,而且有些网站的板块内容也缺失了, 所以首要就是要登录进后台看看是不是 ...
- WordPress的后台功能菜单介绍与操作,WordPress后台说明
WordPress网站的后台概况和登陆地址 网站都有个后台管理系统,通过网站后台,你可以改变你的网站外观,管理你网站的数据,给网站前台增加页面,文章,视频,图片或者其他功能. 通过WordPress建 ...
随机推荐
- css 书写推荐顺序
1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3.文字系列(fon ...
- 优动漫PAINT中设置横排文字
初次启动优动漫PAINT使用文本工具时,软件默认是直排文字效果,如果您想更改为横排文字,或者切换横排竖排文本,如何设置,本文做简单介绍. 在工具箱中单击“文本工具”. 在绘图页面的任意位置单击鼠标,输 ...
- mybatis中if及concat函数的使用
- 页面元素的定位:getBoundingClientRect()和document.documentElement.scrollTop
1.document.documentElement.getBoundingClientRect MSDN对此的解释是: Syntax oRect = object.getBoundingClient ...
- NOI 2015 品酒大会 (后缀数组+并查集)
题目大意:略 40分暴力还是很好写的,差分再跑个后缀和 和 后缀最大值就行了 一种正解是后缀数组+并查集 但据说还有后缀数组+单调栈的高端操作蒟蒻的我当然不会 后缀数组求出height,然后从大到小排 ...
- bitset优化背包
题目:https://agc020.contest.atcoder.jp/tasks/agc020_c 回忆下一题,是零一背包,主要的做法就是凑出最接近sum/2的价值,然后发现现在的背包的容量是20 ...
- Unity WWW类调用http
1.Http请求中Content-Type讲解 MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type ...
- promise的原理
promise的原理 一旦状态改变,就不会再变,任何时候都可以得到这个结果.Promise 对象的状态改变,只有两种可能:从 pending 变为 fulfilled 和从 pending 变为 re ...
- 【Codeforces Round #482 (Div. 2) B】Treasure Hunt
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 我们考虑每个字符串中出现最多的字母出现的次数cnt[3] 对于这3个cnt的值. 如果cnt+n<=s[i].size 那么显 ...
- java中Collection 与Collections的区别
1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set 而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序.搜索以及 ...
