summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Mazoyer <respawneral@gmail.com>2014-08-03 02:15:47 +0200
committerGuillaume Mazoyer <respawneral@gmail.com>2014-08-03 02:15:47 +0200
commit9d7bd8aaec4309f303bdc284aa7247b09a34a977 (patch)
tree76f11ca714ed9f0afd9d926a2331dc9422f07bd3
parent807773344779d5662b4e48f73d86e49092a8eae4 (diff)
Allow masks in IP address parameter.
-rw-r--r--utils.php18
1 files changed, 16 insertions, 2 deletions
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) {