挂件头衔✨️靓标库🧚‍♂️名人堂🦄宝可梦🍎水果机🥊猜拳🏧黑市🏧银行💹抽奖
   🎁
返回列表 发布新帖
查看: 219|回复: 0

[代码技巧] 子比主题 – 单IP限制多用户注册_代码版

[复制链接]
社区贡献

330

主题

204

回帖

2万

积分

等级头衔
Icon组别 : 管理员
Icon等级 :

积分成就
   钻石 : 293 颗
   贡献 : 40810 点
   金币 : 24 枚
Icon在线时间 : 1669 小时
Icon注册时间 : 2024-11-22
Icon最后登录 : 2026-6-10

荣誉勋章

连续签到LV.1累计签到LV.3任务·年会员幸运抽奖·皇幸运抽奖·尊幸运抽奖·豪起源之星摩羯座推广LV.2钻石LV.1注册一周年

总共送礼:1 个    总共收礼:0 个

实力·绝代收藏家

飞流名人堂成员 1 FLLTCN 实名认证 特邀大神 诚信商家 信誉担保 精华作者+ 官方团队 vip vip-year 发表于 2025-10-10 18:40:12 | 查看全部 |阅读模式 浙江金华

交易无需等待,成交就是现在,全面资源整合网络大咖云集,让你轻松玩转互联网!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
很多站长都在纠结的是用户限制一天下载次数,但是有的用户就是去连续注册,一天注册个十几个去下载资源,所以今天腾飞博客给大家分享一个代码版本,喜欢的自行部署吧!

tengfei_down - 2025-10-10T183841.221.webp


代码部署


这个代码是实现的单日IP一次注册,有技术的可以去写一个插件或者子主题去写一个限制一天注册多少!

user-sign-limit.php文件
创建PHP文件:inc/functions/user/user-sign-limit.php文件,自己创建一下,然后将下面代码放里面!
  1. <?php
  2. /*
  3. * @Author: Qinver
  4. * @Url: zibll.com
  5. * @Date: 2024-01-01
  6. * @Description: 用户注册IP限制功能
  7. */

  8. // 防止直接访问
  9. defined('ABSPATH') || exit;

  10. /**
  11. * 检查IP是否已经注册过用户
  12. */
  13. function zib_check_ip_register_limit($user_ip) {
  14.     global $wpdb;

  15.     // 获取当前IP已注册的用户数量
  16.     $registered_count = $wpdb->get_var($wpdb->prepare(
  17.         "SELECT COUNT(*) FROM {$wpdb->usermeta} WHERE meta_key = 'register_ip' AND meta_value = %s",
  18.         $user_ip
  19.     ));

  20.     // 如果已经有注册记录,则禁止注册
  21.     if ($registered_count > 0) {
  22.         return new WP_Error('ip_limit', '该IP已注册过账号,不能重复注册');
  23.     }

  24.     return true;
  25. }

  26. /**
  27. * 在用户注册时记录IP
  28. */
  29. function zib_save_register_ip($user_id) {
  30.     if (!$user_id) return;
  31.    
  32.     // 获取用户注册IP
  33.     $user_ip = zib_get_client_ip();
  34.    
  35.     // 保存用户注册IP
  36.     update_user_meta($user_id, 'register_ip', $user_ip);
  37. }

  38. /**
  39. * 获取客户端真实IP
  40. */
  41. function zib_get_client_ip() {
  42.     if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { //兼容CloudFlare
  43.         $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
  44.     } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { //兼容CDN和代理
  45.         $ip = trim(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0]);
  46.     } elseif (isset($_SERVER['REMOTE_ADDR'])) {
  47.         $ip = $_SERVER['REMOTE_ADDR'];
  48.     } else {
  49.         $ip = '0.0.0.0';
  50.     }
  51.     return $ip;
  52. }

  53. // 在WordPress注册钩子中添加IP检查
  54. add_filter('registration_errors', function($errors, $sanitized_user_login, $user_email) {
  55.     // 获取用户IP
  56.     $user_ip = zib_get_client_ip();
  57.    
  58.     // 检查IP限制
  59.     $ip_check = zib_check_ip_register_limit($user_ip);
  60.     if (is_wp_error($ip_check)) {
  61.         $errors->add($ip_check->get_error_code(), $ip_check->get_error_message());
  62.     }
  63.    
  64.     return $errors;
  65. }, 10, 3);

  66. // 在用户注册成功后保存IP
  67. add_action('user_register', 'zib_save_register_ip');
复制代码
func代码
定位:/wp-content/themes/zibll/func.php文件,没有创建记得自己创建一下,记得加上php头,要不然会报错!
  1. // 引入IP限制注册功能
  2. require_once get_theme_file_path('/inc/functions/user/user-sign-limit.php');
复制代码


本帖被以下淘专辑推荐:

路虽远,行则将至;事虽难,做则必成。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

飞流广播+ 发布

系统消息:飞流安卓客户端APP已上线,请在QQ群(123129)群文件内获取下载。
02-21 02:22
01-24 12:40
站内通告

📢 六月份后均不在线,请悉知

提供资源交易、信息共享、靓号交流、技术变现、学习问答、兴趣娱乐等全面服务。

1.丰富功能系统,扩展社区特色玩法,打造最好的互联网聚集圈子。

2.准确信息真实交易,安全快捷又方便,让虚拟交易面对面。

3. 天上不会掉馅饼,话术骗术迷人心,切勿脱离平台线下交易,被骗与平台无关!

4. 欺诈骗钱,违规违法将视情受到警告&禁言&封号甚至检举至👮🏻‍♀️处理!

官方Q群:1003810038钉推群:BAYR2383 站长QQ:3388700000

飞流论坛(FLLT.CN),一个专注于资源信息发布、虚拟网络交易、技术学习与娱乐社交的交流平台。
  • 钉钉新帖推送群
  • 官方交流QQ群
  • 站长唯一微信号

💥客户端|🧿小黑屋|📴手机页|飞流网 |网站地图

GMT+8, 2026-6-10 07:20 , Processed in 0.089492 second(s), 90 queries, MemCached On , Gzip On.

飞流论坛 HanAnalytics icp

Copyright © 2024-2026 飞流网 版权所有 All Rights Reserved. X3.5

快速回复 返回顶部 返回列表