#13478 fixed widget security hardening
This commit is contained in:
parent
167e6e4b81
commit
0b9f645b14
|
@ -3535,7 +3535,8 @@ function html_print_input_text(
|
|||
$disabled=false,
|
||||
$list='',
|
||||
$placeholder=null,
|
||||
$pattern=null
|
||||
$pattern=null,
|
||||
$id=false
|
||||
) {
|
||||
if ($maxlength == 0) {
|
||||
$maxlength = 255;
|
||||
|
@ -3593,7 +3594,7 @@ function html_print_input_text(
|
|||
return html_print_input_text_extended(
|
||||
$name,
|
||||
$value,
|
||||
'text-'.$name,
|
||||
(($id === false) ? 'text-'.$name : $id),
|
||||
$alt,
|
||||
$size,
|
||||
$maxlength,
|
||||
|
@ -7894,7 +7895,7 @@ function html_print_select_date_range(
|
|||
$fields['chose_range'] = __('Chose start/end date period');
|
||||
$fields['none'] = __('None');
|
||||
|
||||
$output = html_print_input_hidden('custom_date', $custom_date, true);
|
||||
$output = html_print_input_hidden('custom_date', $custom_date, true, false, false, 'hidden-custom_date_'.$name);
|
||||
$output .= '<div id="'.$name.'_default" class="wauto inline_flex" '.$display_default.'>';
|
||||
$output .= html_print_select(
|
||||
$fields,
|
||||
|
@ -7914,13 +7915,13 @@ function html_print_select_date_range(
|
|||
$table->data = [];
|
||||
$table->class = 'table-adv-filter';
|
||||
$table->data[0][0] = '<div><div><div><span class="font-title-font">'.__('From').':</span></div>';
|
||||
$table->data[0][0] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' ';
|
||||
$table->data[0][0] .= html_print_input_text('time_init', $time_init, '', 10, 7, true).' ';
|
||||
$table->data[0][0] .= html_print_input_text('date_init', $date_init, '', 12, 10, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'date_init_'.$name).' ';
|
||||
$table->data[0][0] .= html_print_input_text('time_init', $time_init, '', 10, 7, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'time_init_'.$name).' ';
|
||||
$table->data[0][0] .= '</div>';
|
||||
$table->data[0][0] .= '<div><div><span class="font-title-font">'.__('to').':</span></div>';
|
||||
$table->data[0][0] .= html_print_input_text('date_end', $date_end, '', 12, 10, true).' ';
|
||||
$table->data[0][0] .= html_print_input_text('date_end', $date_end, '', 12, 10, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'date_end_'.$name).' ';
|
||||
$table->data[0][0] .= '<div id="'.$name.'_manual" class="w100p inline_line">';
|
||||
$table->data[0][0] .= html_print_input_text('time_end', $time_end, '', 10, 7, true).' ';
|
||||
$table->data[0][0] .= html_print_input_text('time_end', $time_end, '', 10, 7, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'time_end_'.$name).' ';
|
||||
$table->data[0][0] .= ' <a href="javascript:">'.html_print_image(
|
||||
'images/logs@svg.svg',
|
||||
true,
|
||||
|
@ -7991,13 +7992,13 @@ function html_print_select_date_range(
|
|||
$('#".$name."_range').show();
|
||||
$('#".$name."_default').hide();
|
||||
$('#".$name."_extend').hide();
|
||||
$('#hidden-custom_date').val('1');
|
||||
$('#hidden-custom_date_".$name."').val('1');
|
||||
$('.filter_label_position_before').addClass('filter_label_position_after');
|
||||
} else if ($(this).val() === 'custom') {
|
||||
$('#".$name."_range').hide();
|
||||
$('#".$name."_default').hide();
|
||||
$('#".$name."_extend').show();
|
||||
$('#hidden-custom_date').val('2');
|
||||
$('#hidden-custom_date_".$name."').val('2');
|
||||
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
||||
} else {
|
||||
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
||||
|
@ -8015,8 +8016,8 @@ function html_print_select_date_range(
|
|||
$('#".$name."_range').show();
|
||||
$('#".$name."_default').hide();
|
||||
$('#".$name."_extend').hide();
|
||||
position_top_init = $('#text-date_init').offset().top + $('#text-date_init').outerHeight();
|
||||
position_top_end = $('#text-date_end').offset().top + $('#text-date_end').outerHeight();
|
||||
position_top_init = $('[id^=date_init_".$name."]').offset().top + $('[id^=date_init_".$name."]').outerHeight();
|
||||
position_top_end = $('[id^=date_end_".$name."]').offset().top + $('[id^=date_end_".$name."]').outerHeight();
|
||||
if(def_state_range){
|
||||
$('#".$name."_range').show();
|
||||
} else {
|
||||
|
@ -8042,7 +8043,7 @@ function html_print_select_date_range(
|
|||
$('#".$name."_range').hide();
|
||||
$('#".$name."_extend').hide();
|
||||
$('#".$name."').val('".SECONDS_1DAY."').trigger('change');
|
||||
$('#hidden-custom_date').val('0');
|
||||
$('#hidden-custom_date_".$name."').val('0');
|
||||
}
|
||||
|
||||
$('#text-date').datepicker({
|
||||
|
@ -8052,7 +8053,7 @@ function html_print_select_date_range(
|
|||
showAnim: 'slideDown'
|
||||
});
|
||||
|
||||
$('[id^=text-time_init]').timepicker({
|
||||
$('[id^=time_init_".$name."]').timepicker({
|
||||
showSecond: true,
|
||||
timeFormat: '".$time_format_js."',
|
||||
timeOnlyTitle: '".__('Choose time')."',
|
||||
|
@ -8064,7 +8065,7 @@ function html_print_select_date_range(
|
|||
closeText: '".__('Close')."'
|
||||
});
|
||||
|
||||
$('[id^=text-date_init]').datepicker ({
|
||||
$('[id^=date_init_".$name."]').datepicker ({
|
||||
dateFormat: '".$date_format_js."',
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
|
@ -8073,9 +8074,9 @@ function html_print_select_date_range(
|
|||
beforeShowDay: function (date) {
|
||||
show_datepicker = 'date_init';
|
||||
var date_now = date.getTime();
|
||||
var date_ini_split = $('[id^=text-date_init]').val().split('/');
|
||||
var date_ini_split = $('[id^=date_init_".$name."]').val().split('/');
|
||||
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
||||
var date_end_split = $('[id^=text-date_end]').val().split('/');
|
||||
var date_end_split = $('[id^=date_end_".$name."]').val().split('/');
|
||||
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
||||
if (date_now > date_ini && date_now < date_end) {
|
||||
return [true, 'ui-date-range-in', 'prueba'];
|
||||
|
@ -8086,7 +8087,7 @@ function html_print_select_date_range(
|
|||
}
|
||||
});
|
||||
|
||||
$('[id^=text-date_end]').datepicker ({
|
||||
$('[id^=date_end_".$name."]').datepicker ({
|
||||
dateFormat: '".$date_format_js."',
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
|
@ -8095,9 +8096,9 @@ function html_print_select_date_range(
|
|||
beforeShowDay: function (date) {
|
||||
show_datepicker = 'date_end';
|
||||
var date_now = date.getTime();
|
||||
var date_ini_split = $('[id^=text-date_init]').val().split('/');
|
||||
var date_ini_split = $('[id^=date_init_".$name."]').val().split('/');
|
||||
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
||||
var date_end_split = $('[id^=text-date_end]').val().split('/');
|
||||
var date_end_split = $('[id^=date_end_".$name."]').val().split('/');
|
||||
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
||||
if (date_now > date_ini && date_now < date_end) {
|
||||
return [true, 'ui-date-range-in', 'prueba'];
|
||||
|
@ -8105,10 +8106,10 @@ function html_print_select_date_range(
|
|||
return [true, 'ui-datepicker-current-day', ''];
|
||||
}
|
||||
return [true, '', ''];
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
$('[id^=text-time_end]').timepicker({
|
||||
$('[id^=time_end_".$name."]').timepicker({
|
||||
showSecond: true,
|
||||
timeFormat: '".$time_format_js."',
|
||||
timeOnlyTitle: '".__('Choose time')."',
|
||||
|
|
|
@ -24,12 +24,6 @@ function show_option_dialog(settings) {
|
|||
method: "updateDashboard",
|
||||
dataType: "json"
|
||||
},
|
||||
oncancel: {
|
||||
reload: true
|
||||
},
|
||||
onclose: {
|
||||
reload: true
|
||||
},
|
||||
ajax_callback: update_dashboard
|
||||
});
|
||||
}
|
||||
|
@ -483,10 +477,6 @@ function initialiceLayout(data) {
|
|||
function configurationWidget(cellId, widgetId, size) {
|
||||
var reload = 0;
|
||||
var overlay = false;
|
||||
if (widgetId == 46) {
|
||||
reload = 1;
|
||||
overlay = true;
|
||||
}
|
||||
title = $("#hidden-widget_name_" + cellId).val();
|
||||
load_modal({
|
||||
target: $("#modal-config-widget"),
|
||||
|
|
|
@ -1338,7 +1338,6 @@ function listen_event_sound(settings) {
|
|||
);
|
||||
}
|
||||
|
||||
let sound_listener;
|
||||
function check_event_sound(settings) {
|
||||
// Update elements time.
|
||||
$(".elements-discovered-alerts ul li").each(function() {
|
||||
|
@ -1382,7 +1381,7 @@ function check_event_sound(settings) {
|
|||
},
|
||||
function(data) {
|
||||
if (data != false) {
|
||||
clearTimeout(sound_listener);
|
||||
clearTimeout(window.sound_listener);
|
||||
// Hide empty.
|
||||
$("#tabs-sound-modal .empty-discovered-alerts").addClass(
|
||||
"invisible_important"
|
||||
|
@ -1434,7 +1433,7 @@ function check_event_sound(settings) {
|
|||
});
|
||||
|
||||
// -100 delay sound.
|
||||
sound_listener = setTimeout(
|
||||
window.sound_listener = setTimeout(
|
||||
remove_audio,
|
||||
parseInt($("#tabs-sound-modal #time_sound").val()) * 1000 - 100
|
||||
);
|
||||
|
|
|
@ -270,8 +270,8 @@ class SecurityHardening extends Widget
|
|||
'id' => 'row_date',
|
||||
'class' => 'row_input',
|
||||
'arguments' => [
|
||||
'id' => 'range',
|
||||
'name' => 'range',
|
||||
'id' => 'range_vulnerability',
|
||||
'name' => 'range_vulnerability',
|
||||
'type' => 'date_range',
|
||||
'selected' => 'chose_range',
|
||||
'date_init' => date('Y/m/d', $values['date_init']),
|
||||
|
@ -301,7 +301,7 @@ class SecurityHardening extends Widget
|
|||
$values['limit'] = \get_parameter('limit', 10);
|
||||
$values['category'] = \get_parameter('category', 6);
|
||||
$values['ignore_skipped'] = \get_parameter_switch('ignore_skipped', 0);
|
||||
$date = $this->getDateParameter();
|
||||
$date = \get_parameter_date('range_vulnerability', '', 'U');
|
||||
$values['date_init'] = $date['date_init'];
|
||||
$values['date_end'] = $date['date_end'];
|
||||
return $values;
|
||||
|
@ -366,75 +366,6 @@ class SecurityHardening extends Widget
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the date in an object obtained by parameter.
|
||||
*
|
||||
* @return object Object with date_init, date_end and period.
|
||||
*/
|
||||
private function getDateParameter()
|
||||
{
|
||||
$date_end = get_parameter('date_end', 0);
|
||||
$time_end = get_parameter('time_end');
|
||||
$datetime_end = strtotime($date_end.' '.$time_end);
|
||||
|
||||
$custom_date = get_parameter('custom_date', 0);
|
||||
$range = get_parameter('range', SECONDS_1DAY);
|
||||
$date_text = get_parameter('range_text', SECONDS_1DAY);
|
||||
$date_init_less = (strtotime(date('Y/m/d')) - SECONDS_1DAY);
|
||||
$date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less));
|
||||
$time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less));
|
||||
$datetime_init = strtotime($date_init.' '.$time_init);
|
||||
if ($custom_date === '1') {
|
||||
if ($datetime_init >= $datetime_end) {
|
||||
$datetime_init = $date_init_less;
|
||||
}
|
||||
|
||||
$date_init = date('Y/m/d H:i:s', $datetime_init);
|
||||
$date_end = date('Y/m/d H:i:s', $datetime_end);
|
||||
$period = ($datetime_end - $datetime_init);
|
||||
} else if ($custom_date === '2') {
|
||||
$date_units = get_parameter('range_units');
|
||||
$date_end = date('Y/m/d H:i:s');
|
||||
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - ((int) $date_text * (int) $date_units)));
|
||||
$period = (strtotime($date_end) - strtotime($date_init));
|
||||
} else if (in_array($range, ['this_week', 'this_month', 'past_week', 'past_month'])) {
|
||||
if ($range === 'this_week') {
|
||||
$monday = date('Y/m/d', strtotime('last monday'));
|
||||
|
||||
$sunday = date('Y/m/d', strtotime($monday.' +6 days'));
|
||||
$period = (strtotime($sunday) - strtotime($monday));
|
||||
$date_init = $monday;
|
||||
$date_end = $sunday;
|
||||
} else if ($range === 'this_month') {
|
||||
$date_end = date('Y/m/d', strtotime('last day of this month'));
|
||||
$first_of_month = date('Y/m/d', strtotime('first day of this month'));
|
||||
$date_init = $first_of_month;
|
||||
$period = (strtotime($date_end) - strtotime($first_of_month));
|
||||
} else if ($range === 'past_month') {
|
||||
$date_end = date('Y/m/d', strtotime('last day of previous month'));
|
||||
$first_of_month = date('Y/m/d', strtotime('first day of previous month'));
|
||||
$date_init = $first_of_month;
|
||||
$period = (strtotime($date_end) - strtotime($first_of_month));
|
||||
} else if ($range === 'past_week') {
|
||||
$date_end = date('Y/m/d', strtotime('sunday', strtotime('last week')));
|
||||
$first_of_week = date('Y/m/d', strtotime('monday', strtotime('last week')));
|
||||
$date_init = $first_of_week;
|
||||
$period = (strtotime($date_end) - strtotime($first_of_week));
|
||||
}
|
||||
} else {
|
||||
$date_end = date('Y/m/d H:i:s');
|
||||
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - $range));
|
||||
$period = (strtotime($date_end) - strtotime($date_init));
|
||||
}
|
||||
|
||||
return [
|
||||
'date_init' => strtotime($date_init),
|
||||
'date_end' => strtotime($date_end),
|
||||
'period' => $period,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check user's acl using group.
|
||||
*
|
||||
|
@ -692,6 +623,7 @@ class SecurityHardening extends Widget
|
|||
*/
|
||||
private function vulnerabilitiesByCategory($group, $category, $ignore_skipped=true)
|
||||
{
|
||||
global $config;
|
||||
$labels = [
|
||||
__('Passed'),
|
||||
__('Failed'),
|
||||
|
@ -749,7 +681,7 @@ class SecurityHardening extends Widget
|
|||
|
||||
$total = (count($vulnerabilities['pass']) + count($vulnerabilities['fail']));
|
||||
|
||||
if ($ignore_skipped === false) {
|
||||
if ($ignore_skipped === false && isset($vulnerabilities['skipped']) === true) {
|
||||
$data[] = count($vulnerabilities['skipped']);
|
||||
$total += count($vulnerabilities['skipped']);
|
||||
$labels[] = __('Skipped');
|
||||
|
@ -763,18 +695,19 @@ class SecurityHardening extends Widget
|
|||
'display' => true,
|
||||
'position' => 'right',
|
||||
'align' => 'center',
|
||||
'fonts' => [ 'size' => '12' ],
|
||||
],
|
||||
'elements' => [
|
||||
'center' => [
|
||||
'text' => $total,
|
||||
'color' => '#2c3e50',
|
||||
'color' => ($config['style'] === 'pandora_black') ? '#ffffff' : '#2c3e50',
|
||||
],
|
||||
],
|
||||
'labels' => $labels,
|
||||
'colors' => [
|
||||
'#82b92e',
|
||||
'#e63c52',
|
||||
'#E4E4E4',
|
||||
($config['style'] === 'pandora_black') ? '#666' : '#E4E4E4',
|
||||
],
|
||||
]
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue