WordPress博客用户登录页面添加验证码

  • WordPress博客用户登录页面添加验证码已关闭评论
  • 296 视图
  • A+
所属分类:Wordpress主题

心语家园 https://www.xinyucn.cc/ 为非盈利网站,纯公益性质,所有软件和插件均免费下载。象征性收取的少许费用,完全是为了维持网站运营,支付服务器费用。且收费有助于防止采集和拷贝。软件汉化问题和非中国软件破解需求,可通过网站顶部“私信本站”反馈。

正文开始:

使用WordPress程序后台登录是很方便,如果没有验证码很容易给工具暴力破解密码,所以我们要添加免插件运算验证码功能,也可以使用插件版的验证码功能,还是老一句插件用多了影响网站加载速度影响网速,之前我曾经分享过WordPress后台登录页面运算验证码方法,今天再分享5种给大家!

代码部署

登陆你的后台管理,选择【外观】–【编辑】–【模板函数 (functions.php)】直接添加下面全部代码:【?>前面】即可。

 

第一种:混合数验证码演示图:【跳转版】

WordPress博客用户登录页面添加验证码

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress登陆后台随机混合数验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 登录后台添加验证码第一种
  5. function loper_login_english_figures() {
  6. # 获取英语和数字随机数, 范围0~99,目前是0~5,5位数
  7. $num1=substr(md5(mt_rand(0,99)),0,5);
  8. echo "<p>
  9. <label for='math' class='small'>验证码:$num1 </label>
  10. <input id='math' type='text' name='sum' class='input' value='' size='25'>
  11. <input type='hidden' name='num1' value='$num1'></p>";
  12. }
  13. add_action('login_form','loper_login_english_figures');
  14. # 判断验证码是否空白和错误
  15. function loper_login_calculation() {
  16. $sum=$_POST['sum'];
  17. switch($sum){
  18. case $_POST['num1']:break;
  19. case null:wp_die( __( '错误:请填入验证码!' ), ''array( 'back_link'=>true ) );break;
  20. default:wp_die( __( '错误:验证码不正确!' ), ''array( 'back_link'=>true ) );}
  21. }
  22. add_action('login_form_login','loper_login_calculation');

 

第二种:随机数字验证码演示图:【验证码在框里】【跳转版】

WordPress博客用户登录页面添加验证码

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress登陆后台随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 登录后台添加验证码第二种
  5. function loper_login_english_figures() {
  6. # 获取两个随机数, 范围0~99
  7. $num1=rand(0,99);
  8. $num2=rand(0,99);
  9. echo "<p>
  10. <label for='math' class='small'>验证码</label>
  11. <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '>
  12. <input type='hidden' name='num1' value='$num1'>
  13. <input type='hidden' name='num2' value='$num2'></p>";
  14. }
  15. add_action('login_form','loper_login_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_login_calculation() {
  18. $sum=$_POST['sum'];
  19. switch($sum){
  20. case $_POST['num1']+$_POST['num2']:break;
  21. case null:wp_die( __( '错误:请填入验证码!' ), ''array( 'back_link'=>true ) );break;
  22. default:wp_die( __( '错误:验证码不正确!' ), ''array( 'back_link'=>true ) );}
  23. }
  24. add_action('login_form_login','loper_login_calculation');

 

第三种:随机数字验证码演示图:【跳转版】

WordPress博客用户登录页面添加验证码

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress登陆后台随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 登录后台添加验证码第三种
  5. function loper_login_english_figures() {
  6. # 获取两个随机数, 范围0~99
  7. $num1=rand(0,99);
  8. $num2=rand(0,99);
  9. echo "<p>
  10. <label for='math' class='small'>验证码:$num1 + $num2 = ? </label>
  11. <input id='math' type='text' name='sum' class='input' size='25'>
  12. <input type='hidden' name='num1' value='$num1'>
  13. <input type='hidden' name='num2' value='$num2'></p>";
  14. }
  15. add_action('login_form','loper_login_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_login_calculation() {
  18. $sum=$_POST['sum'];
  19. switch($sum){
  20. case $_POST['num1']+$_POST['num2']:break;
  21. case null:wp_die( __( '错误:请填入验证码!' ), ''array( 'back_link'=>true ) );break;
  22. default:wp_die( __( '错误:验证码不正确!' ), ''array( 'back_link'=>true ) );}
  23. }
  24. add_action('login_form_login','loper_login_calculation');

 

第四种:随机混合数验证码演示图:【提示版】

WordPress博客用户登录页面添加验证码

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress登陆后台随机混合数验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 登录后台添加验证码第四种
  5. function loper_login_english_figures() {
  6. # 获取英语和数字随机数, 范围0~99,目前是0,5【5位数】
  7. $num1=substr(md5(mt_rand(0,99999)),0,5);
  8. echo "<p>
  9. <label for='math' class='small'>验证码:$num1 </label>
  10. <input id='math' type='text' name='sum' class='input' size='25'>
  11. <input type='hidden' name='num1' value='$num1'></p>";
  12. }
  13. add_action('login_form','loper_login_english_figures');
  14. # 判断验证码是否空白和错误
  15. function loper_login_calculation($redirect$bool$errors) {
  16. $sum=$_POST['sum'];
  17. switch($sum){
  18. case $_POST['num1']:break;
  19. case null:$errors->add( 'zlinet', "<strong>错误</strong>:请输入验证码!" ); break;
  20. default:$errors->add( 'zlinet', "<strong>错误</strong>:验证码不正确!" );}
  21. }
  22. add_action('login_redirect','loper_login_calculation', 9, 9);

 

第五种:随机数字验证码演示图:【提示版】

WordPress博客用户登录页面添加验证码

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress登陆后台随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 登录后台添加验证码第五种
  5. function loper_login_english_figures() {
  6. # 获取两个随机数, 范围0~99
  7. $num1=rand(0,99);
  8. $num2=rand(0,99);
  9. echo "<p>
  10. <label for='math' class='small'>验证码</label>
  11. <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '>
  12. <input type='hidden' name='num1' value='$num1'>
  13. <input type='hidden' name='num2' value='$num2'></p>";
  14. }
  15. add_action('login_form','loper_login_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_login_calculation($redirect$bool$errors) {
  18. $sum=$_POST['sum'];
  19. switch($sum){
  20. case $_POST['num1']+$_POST['num2']:break;
  21. case null:$errors->add( 'zlinet', "<strong>错误</strong>:请输入验证码!" ); break;
  22. default:$errors->add( 'zlinet', "<strong>错误</strong>:验证码不正确!" );}
  23. }
  24. add_action('login_redirect','loper_login_calculation', 9, 9);

 

提示:如果你感觉随机混合数不够长的话,【0.5】改为【0.6】!

本站所有发布资源均支持繁体中文,但因繁体中文用户量太少,大部分资源你需要申请汉化才能提供。从2021年1月1日开始,本站所有资源必须注册登陆后才能下载,全部免费。10家园币=1元人民币。如果你不想花钱,可以通过每天登陆、签到或邀请注册等方式免费获得家园币。
weinxin
官方微信公众号
扫一扫关注微信公众号,如果你觉得本站帮到了你,请通过下面的赏字按钮捐赠本站,谢谢!