summaryrefslogtreecommitdiffstats
path: root/system/core/Input.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-03-13 11:51:33 +0100
committerAndrey Andreev <narf@bofh.bg>2012-03-13 11:51:33 +0100
commitc1cda232d690723db6e704b738c91f84cfc49a9e (patch)
treea7e91130e3b6139f5ce9f515635863eee457cb7e /system/core/Input.php
parent30da39bb5d65c37203c12a42dfc50f7d231fb2d1 (diff)
parentd153002858256c6f206c8877f4952ed075902f9e (diff)
Merge upstream branch
Diffstat (limited to 'system/core/Input.php')
-rwxr-xr-xsystem/core/Input.php31
1 files changed, 1 insertions, 30 deletions
diff --git a/system/core/Input.php b/system/core/Input.php
index 54b7e0923..901b4147e 100755
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -366,36 +366,7 @@ class CI_Input {
*/
public function valid_ip($ip)
{
- // if php version >= 5.2, use filter_var to check validate ip.
- if (function_exists('filter_var'))
- {
- return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
- }
-
- $ip_segments = explode('.', $ip);
-
- // Always 4 segments needed
- if (count($ip_segments) !== 4)
- {
- return FALSE;
- }
- // IP can not start with 0
- if ($ip_segments[0][0] == '0')
- {
- return FALSE;
- }
- // Check each segment
- foreach ($ip_segments as $segment)
- {
- // IP segments must be digits and can not be
- // longer than 3 digits or greater then 255
- if ($segment == '' OR preg_match('/[^0-9]/', $segment) OR $segment > 255 OR strlen($segment) > 3)
- {
- return FALSE;
- }
- }
-
- return TRUE;
+ return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
}
// --------------------------------------------------------------------