<?php
// backend/config.php
// Imposta il cookie di sessione sulla root dell'applicazione in modo che sia disponibile
// sia nelle pagine frontend che nelle API backend (ad esempio pdf.php).
$secure = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off';
session_set_cookie_params(0, '/', '', $secure, true);
session_start();

define('DASHBOARD_PASSWORD', 'Admin_Secure_2026');

define('GROQ_API_KEY', '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');

define('GROQ_MODEL', 'llama-3.1-8b-instant');

function getLocalAdvice($type) {
    switch ($type) {
        case 'Brute Force':
            return 'Attivare 2FA e blocco IP dopo 3 tentativi.';
        case 'SQL Injection':
            return 'Utilizzare Prepared Statements (PDO) e sanitizzare gli input.';
        case 'Port Scanning':
            return 'Verificare le regole del firewall e limitare le porte esposte.';
        case 'DDoS Attack':
            return 'Contattare il provider per attivare protezione DDoS e limitare il traffico.';
        case 'XSS Payload':
            return 'Attivare Content-Security-Policy e validare output con htmlspecialchars.';
        case 'Malware Callback':
            return 'Isolare immediatamente l’host e avviare scansione antivirus.';
        case 'Unauthorized Login':
            return 'Forzare il reset password e verificare i log di accesso.';
        case 'Data Exfiltration':
            return 'Bloccare il traffico in uscita verso indirizzi sospetti e avviare indagine forense.';
        case 'Local Privilege Escalation':
            return 'Rivedere i permessi degli utenti e applicare patch di sicurezza.';
        case 'ARP Spoofing':
            return 'Abilitare il Dynamic ARP Inspection sugli switch.';
        case 'Botnet Activity':
            return 'Analizzare il traffico di rete e bloccare i domini C&C noti.';
        case 'SSH Tunneling':
            return 'Disabilitare il tunneling SSH non autorizzato e monitorare le connessioni.';
        case 'Phishing Link Click':
            return 'Resettare le credenziali dell’utente coinvolto e formare il personale.';
        case 'Credential Stuffing':
            return 'Implementare rate limiting e controllare la presenza di credenziali violate.';
        case 'Dictionary Attack':
            return 'Allungare i lockout account e utilizzare password complesse.';
        default:
            return 'Rivedere i log del sistema e isolare temporaneamente l’host.';
    }
}