| | 108 | /** |
| | 109 | * Fix remote address behind a load balancer |
| | 110 | * |
| | 111 | * If what follows doesn't work with your setup, configure the define in your wp-config.php file |
| | 112 | * |
| | 113 | * @since 2.9 |
| | 114 | */ |
| | 115 | if ( defined('WP_REMOTE_ADDR') ) { |
| | 116 | $_SERVER['REMOTE_ADDR'] = WP_REMOTE_ADDR; |
| | 117 | } elseif ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) ) { |
| | 118 | // this one can have multiple IPs separated by a coma |
| | 119 | $_SERVER['REMOTE_ADDR'] = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); |
| | 120 | $_SERVER['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'][0]; |
| | 121 | } elseif ( isset($_SERVER['HTTP_X_REAL_IP']) ) { |
| | 122 | $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; |
| | 123 | } |
| | 124 | |