WordPress博客新用户注册页面添加验证码——WordPress教程

2019年5月17日17:06:38 发表评论 95
摘要

使用WordPress程序你会发现注册新用户没有验证码功能,如果你打开新用户注册功能马上会有机器人烦死你,机器人一直在你网站注册帐号信息,一堆的注册信息让你烦恼。现在大概差不多只需要一串代码就行了,也不用安装任何插件就能现实验证码功能,主要的目的是防止浪费主机资源和防止机器人捣蛋,我前面曾经发过一个验证码,不过是十以内运算验证码,今天升级了,分享6种验证码功能总有你喜欢的一种验证码。

 

WordPress博客新用户注册页面添加验证码——WordPress教程

 

代码部署

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

 

第一种:随机加法验证码演示图:【跳转版】

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第一种
  5. function loper_register_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('register_form','loper_register_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_register_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( 'register_post', 'loper_register_calculation');

 

第二种:随机加法验证码演示图:【显示框里】【跳转版】

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第二种
  5. function loper_register_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('register_form','loper_register_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_register_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( 'register_post', 'loper_register_calculation');

 

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

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机混合数验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第三种
  5. function loper_register_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' size='25'>
  11. <input type='hidden' name='num1' value='$num1'></p>";
  12. }
  13. add_action('register_form','loper_register_english_figures');
  14. # 判断验证码是否空白和错误
  15. function loper_register_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( 'register_post', 'loper_register_calculation');

 

第四种:随机加法验证码演示图:【提示板】

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第四种
  5. function loper_register_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('register_form','loper_register_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_register_calculation($login$email$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( 'register_post', 'loper_register_calculation', 9, 9);

 

第五种:随机加法验证码演示图【提示板】

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机数字验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第五种
  5. function loper_register_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('register_form','loper_register_english_figures');
  16. # 判断验证码是否空白和错误
  17. function loper_register_calculation($login$email$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( 'register_post', 'loper_register_calculation', 9, 9);

 

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

WordPress博客新用户注册页面添加验证码——WordPress教程

  1. /*-----------------------------------------------------------------------------------*/
  2. /* WordPress注册用户随机混合数验证码
  3. /*-----------------------------------------------------------------------------------*/
  4. # 注册用户添加验证码第六种
  5. function loper_register_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' size='25'>
  11. <input type='hidden' name='num1' value='$num1'></p>";
  12. }
  13. add_action('register_form','loper_register_english_figures');
  14. # 判断验证码是否空白和错误
  15. function loper_register_calculation($login$email$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( 'register_post', 'loper_register_calculation', 9, 9);

 

 

  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin

发表评论

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