Logické výrazy¤
Logické výrazy se běžně používají k vytváření přísnějších a přesnějších podmínek, jako je filtrování událostí nebo spouštění konkrétních akcí na základě souboru kritérií.
Logické výrazy pracují s pravdivostními hodnotami true a false.
Logické výrazy jsou reprezentací logické algebry
Další informace naleznete na stránce boolean algebra na Wikipedii.
!AND: Konjunkce¤
Logický výraz !AND se používá ke spojení dvou nebo více podmínek, které musí být všechny pravdivé, aby byl celý výraz pravdivý.
Používá se k vytváření přísnějších a přesnějších podmínek.
Typ: Sequence
Synopsis:
!AND
- <condition 1>
- <condition 2>
- ...
V logickém výrazu !AND mohou být podmínky (podmínka 1, podmínka 2, ...) libovolné výrazy, které se vyhodnotí jako logická hodnota (true nebo false).
Podmínky jsou vyhodnocovány shora dolů a proces vyhodnocování se zastaví, jakmile je nalezena nepravdivá podmínka, podle konceptu zkratového vyhodnocování.
Logická konjunkce
Další informace naleznete na stránce Logická konjunkce na Wikipedii.
Příklad
!AND
- !EQ
- !ARG prodejce
- TeskaLabs
- !EQ
- !ARG produkt
- LogMan.io
- !EQ
- !ARG verze
- v23.10
V tomto příkladu, pokud se všechny podmínky vyhodnotí jako pravdivé, bude celý logický výraz !AND pravdivý.
Pokud je některá z podmínek nepravdivá, bude logický výraz !AND nepravdivý.
Bitové !AND¤
Pokud se !AND použije na celočíselné typy místo na logické, vytvoří se bitové AND.
Příklad
!AND
- !ARG PRI
- 7
V tomto příkladu je argument PRI maskován číslem 7 (binárně 00000111).
!OR: Disjunkce¤
Logický výraz !OR se používá ke spojení dvou nebo více podmínek, přičemž alespoň jedna z podmínek musí být pravdivá, aby byl celý výraz pravdivý.
Používá se k vytváření flexibilnějších a komplexnějších podmínek.
Typ: Sequence
Synopsis:
!OR
- <condition 1>
- <condition 2>
- ...
Podmínky (condition 1, condition 2, ...) mohou být libovolné výrazy, které se vyhodnotí jako logická hodnota (true nebo false).
Podmínky jsou vyhodnocovány shora dolů a proces vyhodnocování se zastaví, jakmile je nalezena pravdivá podmínka, podle konceptu zkráceného vyhodnocování.
Logická disjunkce
Další informace naleznete na stránce Logical disjunction na Wikipedii.
Příklad
!OR
- !EQ
- !ARG popis
- neoprávněný přístup
- !EQ
- !ARG důvod
- hrubá síla
- !EQ
- !ARG zpráva
- Zjištěn malware
V tomto příkladu je výraz pravdivý, pokud je splněna některá z následujících podmínek:
- Pole
descriptionodpovídá řetězci "unauthorized access". - Pole
reasonodpovídá řetězci "brute force". - Pole
messageodpovídá řetězci "malware detected".
Bitové !OR¤
Pokud se !OR použije na celočíselné typy místo na logické, poskytuje bitové OR.
Example
!OR
- 1 # Read access - přístup pro čtení (binární 001, desítková 1)
- 4 # Execute access - přístup pro spuštění (binárně 100, desítkově 4)
V tomto příkladu je výraz vyhodnocen jako 5.
Je to proto, že při bitové operaci !OR se každý odpovídající bit v binární reprezentaci obou čísel kombinuje pomocí výrazu !OR:
001 (přístup pro čtení)
100 (přístup pro spuštění)
---
101 (kombinovaná oprávnění)
Výraz vypočítá oprávnění s výslednou hodnotou (binární 101, desítková 5) z operace bitového OR, která kombinuje přístup ke čtení i ke spouštění.
!NOT: Negace¤
Logický výraz !NOT se používá k obrácení pravdivostní hodnoty podmínky.
Používá se k vyloučení určitých podmínek, pokud nejsou splněny jiné podmínky.
Typ: Mapping.
Synopsis:
!NOT
what: <expression>
Negace
Pro více informací pokračujte na stránku Negation na Wikipedii.
Bitové !NOT¤
Pokud je zadáno celé číslo, pak !NOT vrátí hodnotu s převrácenými bity what.
Tip
Pokud chcete otestovat, že celé číslo není nula, použijte testovací výraz !NE.