分享简单代码实现wordpress用户注册IP地址限制

2022-05-06 580
VIP免费
下载不了?请联系网站客服提交链接错误!
增值服务:

分享简单代码实现wordpress用户注册IP地址限制

由于某种需要,在某些场景下,我们可能需要限制单一IP注册用户的个数,看 起来复杂,其实实现起来之用一小段代码即可。

思路:将每个用户注册的IP写入文本文件,新手户注册时判断IP是否包含在该文本中(或者出现的次数) 优点:不需要安装插件,复制粘贴代码即可

function validate_reg_ip() { global $err_msg; $allow_time = 1; //每个IP允许注册的用户数 $allowed = true; $ips = file_get_contents(“ip.php”); $times = substr_count($ips,getIp()); if($times >=$allow_time) { $allowed = false; $err_msg = “该IP注册用户超过上限,无法继续注册!”; } $ips = ”; return $allowed; } add_filter(‘validate_username’, ‘validate_reg_ip’, 10, 1); function ip_restrict_errors($errors) { global $err_msg; if ( isset( $errors->errors[‘invalid_username’] ) ) $errors->errors[‘invalid_username’][0] = __( $err_msg, ‘ ‘ ); return $errors; } add_filter(‘registration_errors’, ‘ip_restrict_errors’); function update_reg_ip(){ file_put_contents(“ip.txt”,getIp().”\r\n”,FILE_APPEND); } add_action(‘user_register’,’update_reg_ip’); function getIp(){ if (getenv(“HTTP_CLIENT_IP”) && strcasecmp(getenv(“HTTP_CLIENT_IP”), “unknown”)) $ip = getenv(“HTTP_CLIENT_IP”); else if (getenv(“HTTP_X_FORWARDED_FOR”) && strcasecmp(getenv(“HTTP_X_FORWARDED_FOR”), “unknown”)) $ip = getenv(“HTTP_X_FORWARDED_FOR”); else if (getenv(“REMOTE_ADDR”) && strcasecmp(getenv(“REMOTE_ADDR”), “unknown”)) $ip = getenv(“REMOTE_ADDR”); else if (isset($_SERVER[‘REMOTE_ADDR’]) && $_SERVER[‘REMOTE_ADDR’] && strcasecmp($_SERVER[‘REMOTE_ADDR’], “unknown”)) $ip = $_SERVER[‘REMOTE_ADDR’]; else $ip = “unknown”; return $ip; }

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网页教程 分享简单代码实现wordpress用户注册IP地址限制 http://www.wkzy.net/game/2018.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务