![图片[1]- 子比主题 – 单IP限制多用户注册教程](https://www.dh139.cn/wp-content/uploads/2025/11/12-2.jpg)
代码部署
这个代码是实现的单日IP一次注册,有技术的可以去写一个插件或者子主题去写一个限制一天注册多少!
创建PHP文件:inc/functions/user/user-sign-limit.php文件,自己创建一下,然后将下面代码放里面!
<?php
/*
* @Author: Qinver
* @Url: zibll.com
* @Date: 2024-01-01
* @Description: 用户注册IP限制功能
*/
// 防止直接访问
defined('ABSPATH') || exit;
/**
* 检查IP是否已经注册过用户
*/
function zib_check_ip_register_limit($user_ip) {
global $wpdb;
// 获取当前IP已注册的用户数量
$registered_count = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(*) FROM {$wpdb->usermeta} WHERE meta_key = 'register_ip' AND meta_value = %s",
$user_ip
));
// 如果已经有注册记录,则禁止注册
if ($registered_count > 0) {
return new WP_Error('ip_limit', '该IP已注册过账号,不能重复注册');
}
return true;
}
/**
* 在用户注册时记录IP
*/
function zib_save_register_ip($user_id) {
if (!$user_id) return;
// 获取用户注册IP
$user_ip = zib_get_client_ip();
// 保存用户注册IP
update_user_meta($user_id, 'register_ip', $user_ip);
}
/**
* 获取客户端真实IP
*/
function zib_get_client_ip() {
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { //兼容CloudFlare
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { //兼容CDN和代理
$ip = trim(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0]);
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = '0.0.0.0';
}
return $ip;
}
// 在WordPress注册钩子中添加IP检查
add_filter('registration_errors', function($errors, $sanitized_user_login, $user_email) {
// 获取用户IP
$user_ip = zib_get_client_ip();
// 检查IP限制
$ip_check = zib_check_ip_register_limit($user_ip);
if (is_wp_error($ip_check)) {
$errors->add($ip_check->get_error_code(), $ip_check->get_error_message());
}
return $errors;
}, 10, 3);
// 在用户注册成功后保存IP
add_action('user_register', 'zib_save_register_ip');
定位:/wp-content/themes/zibll/func.php文件,没有创建记得自己创建一下,记得加上php头,要不然会报错!
// 引入IP限制注册功能
require_once get_theme_file_path('/inc/functions/user/user-sign-limit.php');
© 版权声明
点点赞赏,手留余香~
还没有人给TA充电
给TA充电
声明
花猪使用须知
- 1本网站内容仅供个人学习、研究和欣赏,未经授权禁止用于任何商业用途。
- 2网站中的代码示例仅用于教育目的,使用时请遵循相关开源协议和授权规定。
- 3转载或引用本站内容请注明出处,尊重原创,共同维护良好的创作环境。
- 4网站评论区欢迎理性讨论,请勿发表违反法律法规的言论,共建和谐社区。
- 5如有内容侵犯您的权益,请通过博客联系方式告知,将立即核实并处理。
- 6使用本站资源时产生的任何问题与后果需自行承担,请谨慎操作。
THE END
喜欢就支持一下吧
相关推荐













暂无评论内容