<?php
acms_header('Защита от DDoS', 'management');
?>
<div class='navigation'>
<a href='/admin/desktop/'><?=icons('home', 25)?></a>
<?=icons('angle-right', 25, 'fa-fw')?>
<a href='/admin/system/'><?=lg('Настройки системы')?></a>
<?=icons('angle-right', 25, 'fa-fw')?>
<?=lg('Защита от DDoS')?>
</div>
<?
if (post('ok_antiddos')){
valid::create(array(
'ANTIDDOS_ACCESS' => ['access', 'number', [0, 1], 'Защита'],
'ANTIDDOS_MODE' => ['mode', 'number', [1, 3], 'Уровень защиты'],
'ANTIDDOS_LOGS' => ['logs', 'number', [0, 1], 'Логирование']
));
if (ERROR_LOG == 1) {
redirect('/admin/system/antiddos/');
}
ini::upgrade(ROOT.'/system/config/global/settings.ini', 'ANTIDDOS_ACCESS', ANTIDDOS_ACCESS);
ini::upgrade(ROOT.'/system/config/global/settings.ini', 'ANTIDDOS_MODE', ANTIDDOS_MODE);
ini::upgrade(ROOT.'/system/config/global/settings.ini', 'ANTIDDOS_LOGS', ANTIDDOS_LOGS);
success('Изменения успешно приняты');
redirect('/admin/system/antiddos/');
}
?>
<div class='list-body'>
<div class='list-menu'>
<form method='post' action='/admin/system/antiddos/' class='ajax-form'>
<?=html::select('access', array(
1 => ['Включена', (config('ANTIDDOS_ACCESS') == 1 ? "selected" : null)],
0 => ['Отключена', (config('ANTIDDOS_ACCESS') == 0 ? "selected" : null)]
), 'Защита', 'form-control-100-modify-select', 'shield')?>
<?=html::select('mode', array(
1 => ['Слабый', (config('ANTIDDOS_MODE') == 1 ? "selected" : null)],
2 => ['Средний (рекомендуется)', (config('ANTIDDOS_MODE') == 2 ? "selected" : null)],
3 => ['Жесткий', (config('ANTIDDOS_MODE') == 3 ? "selected" : null)]
), 'Уровень защиты', 'form-control-100-modify-select', 'shield')?>
<?=html::checkbox('logs', 'Включить логирование', 1, config('ANTIDDOS_LOGS'))?><br /><br />
<?=html::button('button ajax-button', 'ok_antiddos', 'save', 'Сохранить изменения')?>
</form>
</div>
</div>
<?
$column = db::get_column("SELECT COUNT(*) FROM `ANTIDDOS`");
$spage = spage($column, PAGE_SETTINGS);
$page = page($spage);
$limit = PAGE_SETTINGS * $page - PAGE_SETTINGS;
?>
<div class='list-body'>
<div class='list-menu list-title'>
<?=lg('Логи')?> <span class='count'><?=$column?></span>
</div>
<?
if ($column == 0){
html::empty('В логах пока ничего нет');
}
$data = db::get_string_all("SELECT * FROM `ANTIDDOS` ORDER BY `TIME` DESC LIMIT ".$limit.", ".PAGE_SETTINGS);
while ($list = $data->fetch()) {
?>
<div class='list-menu'>
<font size='+1' color='<?=($list['STATUS'] == 1 ? "#FF3E77" : "#29D49C")?>'><?=lg($list['STATUS'] == 1 ? 'Запрос заблокирован' : 'Капча пройдена')?></font><br /><br />
<?=lg('IP')?>: <?=tabs($list['IP'])?><br /><br />
<?=lg('Устройство и браузер')?>: <?=tabs($list['BROWSER'])?><br /><br />
<?=lg('Директория')?>: <?=tabs($list['LINK'])?><br /><br />
<?=lg('Время')?>: <?=ftime($list['TIME'])?>
</div>
<?
}
get_page('/admin/site/transactions/?type='.(get('type') != 'minus' && get('type') != 'plus' ? 'all' : tabs(get('type'))).'&', $spage, $page, 'list-menu');
?></div><?
back('/admin/system/');
acms_footer();