MediaWiki
REL1_37
ProxyLookup.php
Go to the documentation of this file.
1
<?php
2
22
use
MediaWiki\HookContainer\HookContainer
;
23
use
MediaWiki\HookContainer\HookRunner
;
24
use Wikimedia\IPSet;
25
29
class
ProxyLookup
{
30
32
private
$proxyServers
;
33
35
private
$proxyServersComplex
;
36
38
private
$proxyIPSet
;
39
41
private
$hookRunner
;
42
48
public
function
__construct
(
49
$proxyServers,
50
$proxyServersComplex,
51
HookContainer
$hookContainer
52
) {
53
$this->proxyServers =
$proxyServers
;
54
$this->proxyServersComplex =
$proxyServersComplex
;
55
$this->hookRunner =
new
HookRunner
( $hookContainer );
56
}
57
64
public
function
isConfiguredProxy
( $ip ) {
65
// Quick check of known singular proxy servers
66
if
( in_array( $ip, $this->proxyServers,
true
) ) {
67
return
true
;
68
}
69
70
// Check against addresses and CIDR nets in the complex list
71
if
( !$this->proxyIPSet ) {
72
$this->proxyIPSet =
new
IPSet( $this->proxyServersComplex );
73
}
74
return
$this->proxyIPSet->match( $ip );
75
}
76
85
public
function
isTrustedProxy
( $ip ) {
86
$trusted = $this->
isConfiguredProxy
( $ip );
87
$this->hookRunner->onIsTrustedProxy( $ip, $trusted );
88
return
$trusted;
89
}
90
}
MediaWiki\HookContainer\HookContainer
HookContainer class.
Definition
HookContainer.php:45
MediaWiki\HookContainer\HookRunner
This class provides an implementation of the core hook interfaces, forwarding hook calls to HookConta...
Definition
HookRunner.php:559
ProxyLookup
Definition
ProxyLookup.php:29
ProxyLookup\__construct
__construct( $proxyServers, $proxyServersComplex, HookContainer $hookContainer)
Definition
ProxyLookup.php:48
ProxyLookup\isTrustedProxy
isTrustedProxy( $ip)
Checks if an IP is a trusted proxy provider.
Definition
ProxyLookup.php:85
ProxyLookup\$proxyServers
string[] $proxyServers
Definition
ProxyLookup.php:32
ProxyLookup\$hookRunner
HookRunner $hookRunner
Definition
ProxyLookup.php:41
ProxyLookup\isConfiguredProxy
isConfiguredProxy( $ip)
Checks if an IP matches a proxy we've configured.
Definition
ProxyLookup.php:64
ProxyLookup\$proxyServersComplex
string[] $proxyServersComplex
Definition
ProxyLookup.php:35
ProxyLookup\$proxyIPSet
IPSet null $proxyIPSet
Definition
ProxyLookup.php:38
includes
ProxyLookup.php
Generated on Fri Apr 5 2024 23:40:43 for MediaWiki by
1.9.8