zlprime zlprime
  • 首页
  • 朝花夕拾
    • 摄影
    • 生活
    • 随笔
  • 编程学习
    • Java
    • Vue
    • WordPress
  • 其它
    • 游记地图
    • 闲言碎语
    • 友情链接
    • 留言板
首页 › Wordpress › 为WordPress登录页面添加算术验证码

为WordPress登录页面添加算术验证码

Stone
3年前Wordpress
1,866 0 0

为WordPress的登录注册页面添加一个验证码,可以有效防止WordPress的后台被暴力破解。WordPress中有插件帮我们实现了此功能。但除了安装插件,我们也可以直接在主题的functions.php文件中,加入自定义代码,来实现这个功能。而且样式完美兼容。

代码

只需要在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('错误: 验证码错误,请重试.');
}
}
function add_security_question_fields() {
//获取两个随机数, 范围0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最终网页中的具体内容
echo "<p><label for='math' class='small'>验证码:$num1 + $num2 = ? </label><input type='text' name='sum' class='input' value='' size='25'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";}
add_action('register_form','add_security_question_fields');
add_action( 'register_post', 'add_security_question_validate', 10, 3 );
function add_security_question_validate( $sanitized_user_login, $user_email, $errors) {
$sum=$_POST['sum'];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填写结果时的错误讯息
case null:wp_die('错误:请输入验证码!');break;
//计算错误时的错误讯息
default:wp_die('错误:验证码错误,请重试!');}}
add_action( 'add_security_question','register_form' );
add_action('login_form_login','login_val');

实现效果

登录验证码

如果验证码错误,则会给出提示:

错误提示
wordpress
0
本文系作者 @Stone 原创发布在 zlprime。未经许可,禁止转载。
为WordPress添加评论邮件通知功能
上一篇
WordPress中使用代码禁用古腾堡编辑器
下一篇
评论 (0)
再想想
聚合文章
03Java中的变量
3月前
01从BeanFactory入门Spring框架
3月前
Jenkins修改插件的下载源
3月前
02Java中的数据类型
3月前
相关文章
无插件配置WordPress的SMTP发信功能
WordPress中使用代码禁用古腾堡编辑器
为WordPress添加评论邮件通知功能
为WordPress经典编辑器添加字体大小、格式等选项
简介

海边微风起,等风也等你

留言板
留言板
小伙伴们
2Broear Libra の 向往 云帆沧海 若志随笔 豆豆 Chuanbo 诗意笔记
Copyright © 2017-2023 zlprime. 皖ICP备17019582号
  • 首页
  • 朝花夕拾
    • 摄影
    • 生活
    • 随笔
  • 编程学习
    • Java
    • Vue
    • WordPress
  • 其它
    • 游记地图
    • 闲言碎语
    • 友情链接
    • 留言板
热门搜索
  • java
  • spring
Stone
75 文章
145 评论
84 喜欢
  • 0
  • 0
  • Top