WordPress用户登录页面添加验证码 – WordPress教程

王小优
王小优
王小优
231
文章
0
评论
2015年8月11日 评论 5,918 4132字阅读13分46秒
摘要

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

WordPress用户登录页面添加验证码 – WordPress教程

代码部署

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

第一种

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

WordPress用户登录页面添加验证码 – WordPress教程

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

第二种

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

WordPress用户登录页面添加验证码 – WordPress教程

  1. /* WordPress登陆后台随机数字验证码 */
  2. # 登录后台添加验证码第二种
  3. function loper_login_english_figures() {
  4. # 获取两个随机数, 范围0~99
  5. $num1=rand(0,99);
  6. $num2=rand(0,99);
  7. echo "<p>
  8. <label for='math' class='small'>验证码</label>
  9. <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '>
  10. <input type='hidden' name='num1' value='$num1'>
  11. <input type='hidden' name='num2' value='$num2'></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']+$_POST['num2']: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用户登录页面添加验证码 – WordPress教程

  1. /* WordPress登陆后台随机数字验证码 */
  2. # 登录后台添加验证码第三种
  3. function loper_login_english_figures() {
  4. # 获取两个随机数, 范围0~99
  5. $num1=rand(0,99);
  6. $num2=rand(0,99);
  7. echo "<p>
  8. <label for='math' class='small'>验证码:$num1 + $num2 = ? </label>
  9. <input id='math' type='text' name='sum' class='input' size='25'>
  10. <input type='hidden' name='num1' value='$num1'>
  11. <input type='hidden' name='num2' value='$num2'></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']+$_POST['num2']: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用户登录页面添加验证码 – WordPress教程

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

第五种

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

WordPress用户登录页面添加验证码 – WordPress教程

  1. /* WordPress登陆后台随机数字验证码 */
  2. # 登录后台添加验证码第五种
  3. function loper_login_english_figures() {
  4. # 获取两个随机数, 范围0~99
  5. $num1=rand(0,99);
  6. $num2=rand(0,99);
  7. echo "<p>
  8. <label for='math' class='small'>验证码</label>
  9. <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '>
  10. <input type='hidden' name='num1' value='$num1'>
  11. <input type='hidden' name='num2' value='$num2'></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']+$_POST['num2']: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);

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

相关链接

WordPress新用户注册页面添加验证码 - WordPress教程

WordPress用户找回密码页面添加验证码 - WordPress教程

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微博
  • 微博扫一扫
  • weinxin
王小优
匿名

发表评论

匿名网友 填写信息

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