diff options
author | Guillaume Mazoyer <respawneral@gmail.com> | 2014-08-03 02:15:47 +0200 |
---|---|---|
committer | Guillaume Mazoyer <respawneral@gmail.com> | 2014-08-03 02:15:47 +0200 |
commit | 9d7bd8aaec4309f303bdc284aa7247b09a34a977 (patch) | |
tree | 76f11ca714ed9f0afd9d926a2331dc9422f07bd3 | |
parent | 807773344779d5662b4e48f73d86e49092a8eae4 (diff) |
Allow masks in IP address parameter.
-rw-r--r-- | utils.php | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -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) { |