summaryrefslogtreecommitdiff
path: root/utils.php
diff options
context:
space:
mode:
Diffstat (limited to 'utils.php')
-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) {