'https://raw.githubusercontent.com/MISP/misp-warninglists/main/lists/bank-website/list.json', 'auto_update' => false, ]); $whitelistRead = bg_config_read(bg_config_catalog()['whitelist']); $whitelist = []; if (!empty($whitelistRead['parsed']) && is_array($whitelistRead['parsed'])) { $p = $whitelistRead['parsed']; if (isset($p['list']) && is_array($p['list'])) $whitelist = $p['list']; elseif (isset($p['domains']) && is_array($p['domains'])) $whitelist = $p['domains']; } $status = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { csrf_validate(); $action = $_POST['action'] ?? ''; if ($action === 'save') { $cfg['source_url'] = trim($_POST['source_url'] ?? $cfg['source_url']); $cfg['auto_update'] = !empty($_POST['auto_update']); bg_write_json('bank.json', $cfg); bg_flash('success', bg_language()==='en' ? 'Bank settings saved.' : 'Impostazioni banche salvate.'); bg_redirect('bank.php'); } elseif ($action === 'add-white') { $d = bg_normalize_domain($_POST['domain'] ?? ''); if ($d && !in_array($d, $whitelist, true)) $whitelist[] = $d; sort($whitelist); $payload = ['version'=>1, 'updated_at'=>date('Y-m-d'), 'enabled'=>true, 'list'=>array_values($whitelist)]; $r = bg_config_save_key('whitelist', json_encode($payload, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES)."\n"); bg_flash(($r['code']??1)===0 ? 'success' : 'warning', ($r['code']??1)===0 ? (bg_language()==='en'?'Whitelist updated.':'Whitelist aggiornata.') : ($r['output']??'Whitelist save error.')); bg_redirect('bank.php'); } elseif ($action === 'del-white') { $d = bg_normalize_domain($_POST['domain'] ?? ''); $whitelist = array_values(array_diff($whitelist, [$d])); $payload = ['version'=>1, 'updated_at'=>date('Y-m-d'), 'enabled'=>true, 'list'=>array_values($whitelist)]; $r = bg_config_save_key('whitelist', json_encode($payload, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES)."\n"); bg_flash(($r['code']??1)===0 ? 'success' : 'warning', ($r['code']??1)===0 ? (bg_language()==='en'?'Whitelist updated.':'Whitelist aggiornata.') : ($r['output']??'Whitelist save error.')); bg_redirect('bank.php'); } elseif ($action === 'refresh') { $res = bg_update_banks_user($targetUser, $cfg['source_url']); bg_flash(($res['code']??1)===0 ? 'success' : 'warning', trim((string)($res['output'] ?? '')) ?: ((bg_language()==='en')?'Bank list update completed.':'Aggiornamento lista banche completato.')); bg_redirect('bank.php'); } } $banksRaw = ''; $banksVia = 'missing'; if ($targetUser) { $res = bg_data_file_read_b64('banks', $targetUser); if ((int)($res['code'] ?? 1) === 0) { $decoded = base64_decode((string)$res['output'], true); if (is_string($decoded)) { $banksRaw = $decoded; $banksVia = 'helper'; } } elseif (is_readable($bankPath)) { $banksRaw = (string)@file_get_contents($bankPath); $banksVia = 'direct'; } else { $status = trim((string)($res['output'] ?? '')); } } $banks = []; if ($banksRaw !== '') { $j = json_decode($banksRaw, true); $list = is_array($j) ? ($j['list'] ?? $j) : []; if (is_array($list)) { foreach ($list as $item) { if (is_string($item)) $banks[] = ltrim($item, '.'); elseif (is_array($item)) $banks[] = ltrim((string)($item['value'] ?? $item['domain'] ?? ''), '.'); } } } $banks = array_values(array_filter(array_unique($banks))); include 'includes/header.php'; include 'includes/sidebar.php'; ?>

>

: ·

Whitelist BastionGuard

via .