mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Security fix: unauthorized access (#10091)
* Security fix: unauthorized access Affects nginx users: Moved php files outside of public html directory (Apache was protected by .htaccess) Affects all users: Some files did not check for authentication and could disclose some info. Better checks before including files from user input * git mv html/includes/ includes/html git mv html/pages/ includes/html/
This commit is contained in:
35
includes/html/object-cache.inc.php
Normal file
35
includes/html/object-cache.inc.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
// FIXME queries such as the one below should probably go into index.php?
|
||||
// FIXME: This appears to keep a complete cache of device details in memory for every page load.
|
||||
// It would be interesting to know where this is used. It probably should have its own API.
|
||||
use LibreNMS\ObjectCache;
|
||||
|
||||
foreach (dbFetchRows('SELECT * FROM `devices` ORDER BY `hostname`') as $device) {
|
||||
$cache['devices']['hostname'][$device['hostname']] = $device['device_id'];
|
||||
$cache['devices']['id'][$device['device_id']] = $device;
|
||||
|
||||
$cache['device_types'][$device['type']]++;
|
||||
}
|
||||
|
||||
$devices = new ObjectCache('devices');
|
||||
$ports = new ObjectCache('ports');
|
||||
$services = new ObjectCache('services');
|
||||
|
||||
if ($devices['down']) {
|
||||
$devices['bgcolour'] = '#ffcccc';
|
||||
} else {
|
||||
$devices['bgcolour'] = 'transparent';
|
||||
}
|
||||
|
||||
if ($ports['down']) {
|
||||
$ports['bgcolour'] = '#ffcccc';
|
||||
} else {
|
||||
$ports['bgcolour'] = '#e5e5e5';
|
||||
}
|
||||
|
||||
if ($services['down']) {
|
||||
$services['bgcolour'] = '#ffcccc';
|
||||
} else {
|
||||
$services['bgcolour'] = 'transparent';
|
||||
}
|
Reference in New Issue
Block a user