| 105 | // Correct comment's ip address with X-Forwarded-For http header if you are behind a proxy or load balancer. |
| 106 | // Via http://wordpress.org/extend/plugins/real-ip/ |
| 107 | if ( function_exists('filter_var') ) { |
| 108 | if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) ) |
| 109 | $_SERVER['REMOTE_ADDR'] = filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE); |
| 110 | elseif ( isset($_SERVER['HTTP_X_REAL_IP']) && filter_var($_SERVER['HTTP_X_REAL_IP'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) ) |
| 111 | $_SERVER['REMOTE_ADDR'] = filter_var($_SERVER['HTTP_X_REAL_IP'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE); |
| 112 | } else { |
| 113 | if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) ) |
| 114 | $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR']; |
| 115 | elseif ( isset($_SERVER['HTTP_X_REAL_IP']) ) |
| 116 | $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; |
| 117 | } |
| 118 | |
| 119 | |