From 3c6ea9a3be26a67a717e4965ac8e6d8bb0e74127 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Sat, 09 Jan 2016 15:32:10 -0500
Subject: [PATCH] some more filter_var for ipv4 / ipv6

---
 interface/lib/classes/validate_database.inc.php |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/interface/lib/classes/validate_database.inc.php b/interface/lib/classes/validate_database.inc.php
index e348afe..c789b6a 100644
--- a/interface/lib/classes/validate_database.inc.php
+++ b/interface/lib/classes/validate_database.inc.php
@@ -42,18 +42,12 @@
 			$values = explode(",", $field_value);
 			foreach($values as $cur_value) {
 				$cur_value = trim($cur_value);
-
 				$valid = true;
-//				if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $cur_value)) {
-				if(preg_match("/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/", $cur_value)) {
-					$groups = explode(".", $cur_value);
-					foreach($groups as $group){
-						if($group<0 or $group>255)
-							$valid=false;
+				if(function_exists('filter_var')) {
+					if(!filter_var($cur_value, FILTER_VALIDATE_IP)) {
+						$valid = false;
 					}
-				} else {
-					$valid = false;
-				}
+				} else return "function filter_var missing <br />\r\n";
 
 				if($valid == false) {
 					$errmsg = $validator['errmsg'];

--
Gitblit v1.9.1