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

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

Stone
2020-03-02 19:50:57Wordpress
907 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)
再想想
聚合文章
SpringMVC的POST请求出现中文乱码
2022-04-11 16:37:55
SpringMVC静态资源访问的开启
2022-04-09 17:49:24
SpringMVC的数据响应形式
2022-04-08 23:33:21
SpringMVC中视图解析器的简答配置
2022-04-08 19:30:35
相关文章
无插件配置WordPress的SMTP发信功能
WordPress中使用代码禁用古腾堡编辑器
为WordPress添加评论邮件通知功能
为WordPress经典编辑器添加字体大小、格式等选项
简介

海边微风起,等风也等你

留言板
留言板
小伙伴们
2Broear Libra の 向往 云帆沧海 若志随笔 豆豆 Chuanbo
Copyright © 2017-2022 zlprime. 皖ICP备17019582号
  • 首页
  • 朝花夕拾
    • 摄影
    • 读书
    • 生活
    • 随笔
  • 技能分享
    • WordPress
  • 学习记录
    • Java
  • 其它
    • 游记地图
    • 闲言碎语
    • 阅读书单
    • 友情链接
    • 留言板
热门搜索
  • wordpress
  • 随笔
  • 游记
Stone
大家好,我是Stone,现居合肥。
43 文章
125 评论
70 喜欢
  • 0
  • 0
  • Top