diff --git a/modules/member/member.model.php b/modules/member/member.model.php index f955d5ba3..f7abc2ec9 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -203,8 +203,17 @@ class memberModel extends member { return true; } + elseif(filter_var($_SESSION['ipaddress'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) + { + // IPv6: require same /48 + if(strncmp(inet_pton($_SESSION['ipaddress']), inet_pton($_SERVER['REMOTE_ADDR']), 6) == 0) + { + return true; + } + } else { + // IPv4: require same /24 if(ip2long($_SESSION['ipaddress']) >> 8 == ip2long($_SERVER['REMOTE_ADDR']) >> 8) { return true;