getHeader( 'X-Forwarded-For' ) instead. * @return string */ function wfGetForwardedFor() { wfDeprecated( __METHOD__, '1.19' ); global $wgRequest; return $wgRequest->getHeader( 'X-Forwarded-For' ); } /** * Returns the browser/OS data from the request header * Note: headers are spoofable * * @deprecated in 1.18; use $wgRequest->getHeader( 'User-Agent' ) instead. * @return string */ function wfGetAgent() { wfDeprecated( __METHOD__, '1.18' ); global $wgRequest; return $wgRequest->getHeader( 'User-Agent' ); } /** * Work out the IP address based on various globals * For trusted proxies, use the XFF client IP (first of the chain) * * @deprecated in 1.19; call $wgRequest->getIP() directly. * @return string */ function wfGetIP() { wfDeprecated( __METHOD__, '1.19' ); global $wgRequest; return $wgRequest->getIP(); } /** * Checks if an IP is a trusted proxy provider. * Useful to tell if X-Forwarded-For data is possibly bogus. * Squid cache servers for the site are whitelisted. * * @param $ip String * @return bool */ function wfIsTrustedProxy( $ip ) { $trusted = wfIsConfiguredProxy( $ip ); wfRunHooks( 'IsTrustedProxy', array( &$ip, &$trusted ) ); return $trusted; } /** * Checks if an IP matches a proxy we've configured. * @param $ip String * @return bool */ function wfIsConfiguredProxy( $ip ) { global $wgSquidServers, $wgSquidServersNoPurge; $trusted = in_array( $ip, $wgSquidServers ) || in_array( $ip, $wgSquidServersNoPurge ); return $trusted; }