TsgcWebSocketFirewall › Metodi › IsMessageAllowed
Filtro per messaggio principale. Esegue i moduli di ispezione del contenuto abilitati (SQL injection, XSS, path traversal, command injection, limite payload, protezione da flood, regole personalizzate) e restituisce se il messaggio deve essere consegnato.
function IsMessageAllowed(const aIP: string; const aMessage: string): Boolean;
| Nome | Tipo | Descrizione |
|---|---|---|
aIP | const string | Indirizzo del client remoto che ha inviato il messaggio. Utilizzato per i contatori flood per IP, l'attribuzione del punteggio di minaccia e l'escalation del ban. |
aMessage | const string | Payload completo del messaggio (testo o binario decodificato) che verrà analizzato alla ricerca di pattern dannosi e confrontato con PayloadLimit.MaxSizeBytes. |
True quando il messaggio supera tutti i filtri abilitati; False quando un modulo segnala una violazione. OnFiltered e OnViolation vengono generati al rifiuto e il punteggio di minaccia viene aggiornato di conseguenza. (Boolean)
IsMessageAllowed viene richiamato automaticamente per ogni frame di testo/binario non appena la proprietà Firewall è collegata a un server; raramente è necessario chiamarlo manualmente. I risultati del rilevamento si accumulano nel sottosistema ThreatScore, così i trasgressori ricorrenti possono essere bannati automaticamente una volta raggiunto AutoBanThreshold. Per le pipeline che hanno già decodificato un messaggio su un altro thread, chiamare IsMessageAllowed per riapplicare gli stessi filtri prima di persistere o inoltare il payload.
if not sgcWebSocketFirewall1.IsMessageAllowed(Connection.IP, aText) then
Connection.Disconnect;