Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (!empty($_SERVER['HTTP_CLIENT_IP'])
- && self::validate_ip($_SERVER['HTTP_CLIENT_IP'])
- ) {
- return $_SERVER['HTTP_CLIENT_IP'];
- }
- // check for IPs passing through proxies
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- // check if multiple ips exist in var
- $iplist = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
- foreach ($iplist as $ip) {
- if (SMVCApplicationHelper::ValidateIp($ip)) {
- return $ip;
- }
- }
- }
- if (!empty($_SERVER['HTTP_X_FORWARDED'])
- && SMVCApplicationHelper::ValidateIp($_SERVER['HTTP_X_FORWARDED'])
- ) {
- return $_SERVER['HTTP_X_FORWARDED'];
- }
- if (!empty($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])
- && SMVCApplicationHelper::ValidateIp($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])
- ) {
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
- }
- if (!empty($_SERVER['HTTP_FORWARDED_FOR'])
- && SMVCApplicationHelper::ValidateIp($_SERVER['HTTP_FORWARDED_FOR'])
- ) {
- return $_SERVER['HTTP_FORWARDED_FOR'];
- }
- if (!empty($_SERVER['HTTP_FORWARDED'])
- && SMVCApplicationHelper::ValidateIp($_SERVER['HTTP_FORWARDED'])
- ) {
- return $_SERVER['HTTP_FORWARDED'];
- }
- // return unreliable ip since all else failed
- return $_SERVER['REMOTE_ADDR'];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement