TsgcWebSocketFirewall › Eventi › OnFiltered
Si genera quando il firewall effettua una decisione di filtraggio su una connessione o un messaggio.
property OnFiltered: TsgcFirewallOnFiltered;
// TsgcFirewallOnFiltered = procedure(Sender: TObject; const aIP: string; const aReason: string; var Allow: Boolean) of object
—
OnFiltered viene generato ogni volta che il firewall blocca (o bloccherebbe) una connessione o un messaggio. Usare questo evento per registrare le decisioni o per sovrascrivere il risultato tramite il parametro var Allow: impostarlo a True per consentire la richiesta nonostante il verdetto del firewall, oppure lasciarlo invariato per accettare la decisione del firewall. aIP è l'IP del client remoto e aReason è una breve motivazione leggibile dall'utente (ad esempio "Blacklisted", "Banned", "Rate limit exceeded", "GeoIP blocked", "SQL injection detected", "XSS detected", "Path traversal detected", "Command injection detected", "Flood protection triggered", "Payload too large" o "Custom rule blocked"). L'evento viene generato dal thread I/O del server; mantenere i gestori veloci e thread-safe.
procedure TForm1.sgcWebSocketFirewall1Filtered(Sender: TObject;
const aIP: string; const aReason: string; var Allow: Boolean);
begin
// log every firewall decision
Memo1.Lines.Add(Format('[%s] blocked: %s', [aIP, aReason]));
// whitelist an internal monitoring host, overriding the firewall
if aIP = '10.0.0.5' then
Allow := True;
end;