MediaWiki
REL1_34
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
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\isConfiguredProxy
isConfiguredProxy( $ip)
Checks if an IP matches a proxy we've configured.
Definition
ProxyLookup.php:59
ProxyLookup\$proxyServersComplex
string[] $proxyServersComplex
Definition
ProxyLookup.php:37
ProxyLookup\$proxyIPSet
IPSet null $proxyIPSet
Definition
ProxyLookup.php:42
includes
ProxyLookup.php
Generated on Fri Apr 5 2024 23:10:22 for MediaWiki by
1.9.8