diff options
author | Joffrey Jaffeux <j.jaffeux@gmail.com> | 2012-06-06 14:26:04 +0200 |
---|---|---|
committer | Joffrey Jaffeux <j.jaffeux@gmail.com> | 2012-06-06 14:26:04 +0200 |
commit | c28b651b91367e86f1bd6ab7f0cd6c45e58811ab (patch) | |
tree | e09e4e0ac955a7081af200bb47244fee04527f29 /system/core/Input.php | |
parent | 6683c3c872952ae16d98c89ef474e5522897592a (diff) |
Add support for ipv6
Diffstat (limited to 'system/core/Input.php')
-rwxr-xr-x | system/core/Input.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/system/core/Input.php b/system/core/Input.php index 73f46ba6a..6a5a9d8f0 100755 --- a/system/core/Input.php +++ b/system/core/Input.php @@ -383,7 +383,27 @@ class CI_Input { */ public function valid_ip($ip) { - return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); + if($this->ip_version($ip) === '4') + { + return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); + } + else + { + return (bool) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); + } + } + + // -------------------------------------------------------------------- + + /** + * Return ip version + * + * @param string + * @return string + */ + public function ip_version($ip) + { + return strpos($ip, ":") === false ? '4' : '6'; } // -------------------------------------------------------------------- |