Update: if php version >= 5.2, use filter_var to check validate ip.
diff --git a/system/core/Input.php b/system/core/Input.php
index 0dc2c45..f99adad 100755
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -373,6 +373,12 @@
 	*/
 	function valid_ip($ip)
 	{
+		// if php version >= 5.2, use filter_var to check validate ip.
+		if(is_php('5.2'))
+		{
+			return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
+		}
+
 		$ip_segments = explode('.', $ip);
 
 		// Always 4 segments needed