MediaWiki
1.34.0
ProxyLookup.php
Go to the documentation of this file.
1
<?php
2
22
use Wikimedia\IPSet;
23
27
class
ProxyLookup
{
28
32
private
$proxyServers
;
33
37
private
$proxyServersComplex
;
38
42
private
$proxyIPSet
;
43
48
public
function
__construct
(
$proxyServers
,
$proxyServersComplex
) {
49
$this->proxyServers =
$proxyServers
;
50
$this->proxyServersComplex =
$proxyServersComplex
;
51
}
52
59
public
function
isConfiguredProxy
( $ip ) {
60
// Quick check of known singular proxy servers
61
if
( in_array( $ip, $this->proxyServers,
true
) ) {
62
return
true
;
63
}
64
65
// Check against addresses and CIDR nets in the complex list
66
if
( !$this->proxyIPSet ) {
67
$this->proxyIPSet =
new
IPSet( $this->proxyServersComplex );
68
}
69
return
$this->proxyIPSet->match( $ip );
70
}
71
80
public
function
isTrustedProxy
( $ip ) {
81
$trusted = $this->
isConfiguredProxy
( $ip );
82
Hooks::run
(
'IsTrustedProxy'
, [ &$ip, &$trusted ] );
83
return
$trusted;
84
}
85
}
ProxyLookup\$proxyIPSet
IPSet null $proxyIPSet
Definition:
ProxyLookup.php:42
ProxyLookup\isConfiguredProxy
isConfiguredProxy( $ip)
Checks if an IP matches a proxy we've configured.
Definition:
ProxyLookup.php:59
ProxyLookup
Definition:
ProxyLookup.php:27
ProxyLookup\isTrustedProxy
isTrustedProxy( $ip)
Checks if an IP is a trusted proxy provider.
Definition:
ProxyLookup.php:80
ProxyLookup\__construct
__construct( $proxyServers, $proxyServersComplex)
Definition:
ProxyLookup.php:48
ProxyLookup\$proxyServers
string[] $proxyServers
Definition:
ProxyLookup.php:32
ProxyLookup\$proxyServersComplex
string[] $proxyServersComplex
Definition:
ProxyLookup.php:37
Hooks\run
static run( $event, array $args=[], $deprecatedVersion=null)
Call hook functions defined in Hooks::register and $wgHooks.
Definition:
Hooks.php:200
includes
ProxyLookup.php
Generated on Thu Dec 19 2019 14:54:44 for MediaWiki by
1.8.16