View file panel/system/antiddos.php

File size: 3.31Kb
<?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();