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:
59
includes/html/pages/device/apps/shoutcast.inc.php
Normal file
59
includes/html/pages/device/apps/shoutcast.inc.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
global $config;
|
||||
|
||||
$total = true;
|
||||
|
||||
if (isset($total) && $total === true) {
|
||||
$graphs = array(
|
||||
'shoutcast_multi_bits' => 'Traffic Statistics - Total of all Shoutcast servers',
|
||||
'shoutcast_multi_stats' => 'Shoutcast Statistics - Total of all Shoutcast servers',
|
||||
);
|
||||
|
||||
foreach ($graphs as $key => $text) {
|
||||
$graph_type = $key;
|
||||
$graph_array['height'] = '100';
|
||||
$graph_array['width'] = '215';
|
||||
$graph_array['to'] = $config['time']['now'];
|
||||
$graph_array['id'] = $app['app_id'];
|
||||
$graph_array['type'] = 'application_'.$key;
|
||||
|
||||
echo '<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.$text.'</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">';
|
||||
include 'includes/html/print-graphrow.inc.php';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$files = glob(rrd_name($device['hostname'], array('app', 'shoutcast', $app['app_id']), '*.rrd'));
|
||||
foreach ($files as $file) {
|
||||
$pieces = explode('-', basename($file, '.rrd'));
|
||||
$hostname = end($pieces);
|
||||
list($host, $port) = explode('_', $hostname, 2);
|
||||
$graphs = array(
|
||||
'shoutcast_bits' => 'Traffic Statistics - '.$host.' (Port: '.$port.')',
|
||||
'shoutcast_stats' => 'Shoutcast Statistics - '.$host.' (Port: '.$port.')',
|
||||
);
|
||||
|
||||
foreach ($graphs as $key => $text) {
|
||||
$graph_type = $key;
|
||||
$graph_array['height'] = '100';
|
||||
$graph_array['width'] = '215';
|
||||
$graph_array['to'] = $config['time']['now'];
|
||||
$graph_array['id'] = $app['app_id'];
|
||||
$graph_array['type'] = 'application_'.$key;
|
||||
$graph_array['hostname'] = $hostname;
|
||||
echo '<h3>'.$text.'</h3>';
|
||||
echo "<tr bgcolor='$row_colour'><td colspan=5>";
|
||||
|
||||
include 'includes/html/print-graphrow.inc.php';
|
||||
|
||||
echo '</td></tr>';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user