TsgcWebSocketFirewall › Metodi › IsConnectionAllowed
Filtro di handshake principale. Valuta ogni modulo di protezione al momento della connessione abilitato (ban, whitelist, blacklist, limite di frequenza, GeoIP, regole personalizzate) e restituisce se la connessione deve essere accettata.
function IsConnectionAllowed(const aIP: string): Boolean;
| Nome | Tipo | Descrizione |
|---|---|---|
aIP | const string | Indirizzo del client remoto come riportato dal socket sottostante. Sono supportati sia IPv4 che IPv6. |
True quando la connessione supera ogni controllo abilitato; False se un qualsiasi modulo la rifiuta. In caso di rifiuto vengono generati OnFiltered e OnViolation con il tipo di violazione corrispondente. (Boolean)
IsConnectionAllowed è il principale punto di ingresso richiamato da TsgcWebSocketServer, TsgcWebSocketHTTPServer e TsgcWebSocketServer_HTTPAPI al momento dell'handshake non appena viene assegnata la proprietà Firewall; pertanto le chiamate manuali sono raramente necessarie. Applica i moduli nell'ordine documentato: se l'IP è nella whitelist, tutti i controlli successivi vengono saltati e viene restituito True; altrimenti ban, blacklist, rate limit, GeoIP e CustomRules vengono valutati in sequenza. Il metodo è thread-safe e aggiorna i contatori di Stats e threat-score durante l'esecuzione.
// manual pre-filter (usually not needed — wiring the Firewall property is enough)
if not sgcWebSocketFirewall1.IsConnectionAllowed(Connection.IP) then
Connection.Disconnect;