From 9d7bd8aaec4309f303bdc284aa7247b09a34a977 Mon Sep 17 00:00:00 2001 From: Guillaume Mazoyer Date: Sun, 3 Aug 2014 02:15:47 +0200 Subject: Allow masks in IP address parameter. --- utils.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'utils.php') diff --git a/utils.php b/utils.php index bf14096..fb1c1a8 100644 --- a/utils.php +++ b/utils.php @@ -22,11 +22,25 @@ require_once 'config.php'; function match_ipv4($ip) { - return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); + if (strrpos($ip, '/')) { + $ip_and_mask = explode('/', $ip, 2); + + return filter_var($ip_and_mask[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && + filter_var($ip_and_mask[1], FILTER_VALIDATE_INT); + } else { + return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); + } } function match_ipv6($ip) { - return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); + if (strrpos($ip, '/')) { + $ip_and_mask = explode('/', $ip, 2); + + return filter_var($ip_and_mask[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) && + filter_var($ip_and_mask[1], FILTER_VALIDATE_INT); + } else { + return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); + } } function match_fqdn($fqdn) { -- cgit v1.2.3