WordPress登录页添加简易数字运算验证码

avatar
avatar
自然
408
文章
472
评论
2019年9月3日09:36:32 2 899字阅读2分59秒

最近,自然博客经常遭到恶意注册。用户管理界面可以看见很多乱七八糟的用户名以及一些完全无法分辨的注册邮箱。为了解决这一问题,自然首先想到的是引入登录验证码机制,其次是手动加代码的形式来搞定。出于不像使用插件的脑洞指引下,自然选择了使用代码。

WordPress登录页添加简易数字运算验证码

经过大量的查找,在简单部署和实用性的平衡下,自然选择了这个建议算数验证码。对于真正的大神而言,而已注册时无法阻挡的,除非关闭注册。所以自然选择了这个部署简单、实用、高效的验证方式。

我们只需要将代码加入当前主题根目录下functions.php里面即可:

//后台登陆数学验证码
function myplugin_add_login_fields() {
//获取两个随机数, 范围0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最终网页中的具体内容
    echo "<p><label for='math' class='small'>验证码</label><br /> $num1 + $num2 = ?<input type='text' name='sum' class='input' value='' size='25' tabindex='4'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";
}
add_action('login_form','myplugin_add_login_fields');
function login_val() {
$sum=$_POST['sum'];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填写结果时的错误讯息
case null:wp_die('错误: 请输入验证码.');break;
//计算错误时的错误讯息
default:wp_die('错误: 验证码错误,请重试.');
}
}
add_action('login_form_login','login_val');
weinxin
自然博客
快来关注一下,一个linux运维爱好者的个人博客!
avatar
  • 本文由 发表于 2019年9月3日09:36:32
AlphaSSL 域名通配符型DV SSL证书
全网通流量卡/物联卡 SIM专用上网卡
网站右侧添加悬浮QQ客服代码 Wordpress教程

网站右侧添加悬浮QQ客服代码

最近无意中在云瑞网的服务页面看到了右侧悬浮的企鹅小图像,点击后可以直接通过“QQ 在线”功能与客服进行“QQ 在线”弹窗交流!博主大概看了下底层代码,发现很好实现,于是就尝试在自己的网站: 首先,在你...
WordPress 快速移除所有文章的特色图片 Wordpress教程

WordPress 快速移除所有文章的特色图片

今天给一个客户解决特色图片不显示问题,了解到他不是直接迁移文件和数据库的方式部署的新站点,而是在全新安装的wordpress上是使用导入导出工具导入原站点的数据,结果就造成了缩略图不显示的问题。通过排...
如何防止smtp会暴露服务器真实ip Wordpress教程

如何防止smtp会暴露服务器真实ip

我们的网站使用cdn加速服务可以有效的隐藏服务器的真实ip地址,并起到了加速、应用防火墙、网络防火墙的作用,极大的提升了服务器的安全系数,然而,smtp任然会暴露服务器真实ip,这已经是一个历史遗留问...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  0   博主  0
    • avatar 666 3

      有没有办法在发表评论那里加验证码啊

        • avatar 自然

          @ 666 可以添加验证码?不难,你百度一下很多