summaryrefslogtreecommitdiffstats
path: root/modules-available/webinterface/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/webinterface/page.inc.php')
-rw-r--r--modules-available/webinterface/page.inc.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/modules-available/webinterface/page.inc.php b/modules-available/webinterface/page.inc.php
index 1b082000..7bad721b 100644
--- a/modules-available/webinterface/page.inc.php
+++ b/modules-available/webinterface/page.inc.php
@@ -101,7 +101,7 @@ class Page_WebInterface extends Page
$ip = trim($line[0]);
$ipNormal = IpUtil::normalizeIp($ip);
if ($ipNormal !== null) {
- $cleaned[$ip] = $line[1] ?? '';
+ $cleaned[$ipNormal] = $line[1] ?? '';
} else {
Message::addWarning('invalid-proxy-ip', $ip);
}
@@ -205,7 +205,7 @@ class Page_WebInterface extends Page
//
// Password fields
//
- $data = array();
+ $data = [];
if (Property::getPasswordFieldType() === 'text') {
$data['selected_show'] = 'checked';
} else {
@@ -224,7 +224,15 @@ class Page_WebInterface extends Page
}
$list .= "\r\n";
}
- $data = ['trustedProxiesList' => $list];
+ $chain = preg_split('/\s*,\s*/', $_SERVER['HTTP_X_FORWARDED_FOR'] ?? '', -1, PREG_SPLIT_NO_EMPTY);
+ $chain[] = $_SERVER['REMOTE_ADDR'] ?? '';
+ $client = array_shift($chain);
+ $data = [
+ 'trustedProxiesList' => $list,
+ 'chain' => $chain,
+ 'client' => $client,
+ 'server' => $_SERVER['SERVER_ADDR'] ?? '127.0.0.1',
+ ];
Permission::addGlobalTags($data['perms'], null, ['edit.trusted-proxies']);
Render::addTemplate('trusted-proxies', $data);
//