Elkezdett omleni a spam egy EXO-s tenantba, amire rahatasom van. A levelek kozos jellemzoje, hogy a targy minden esetben egy hasonlo pattern: word: abc, ahol a "word" minden esetben egy szo (mindig ugyanaz), az abc pedig random 3 db alfanumerikus karakter.
Ilyenkor ugye mire gondol az ember, az ilyen spammer minden admin karacsonyi kivansaga, hiszen 1 db mail rule-lal ki lehetne dobni az osszeset. Csak hat nem. EXO-hoz amugy is balfasz vagyok, szoval a kerdes, vajon az alabbi konfig miert nem fogja meg a rohadekokat?
A pattern ugye a ^word: .{3}$, csak mivel word=username, igy kihuztam.
- 430 megtekintés
Hozzászólások
<sarcasm>Te Exchange Online üzemeltetéssel foglalkozol?!? Ez most nagy csalódás nekem!</sarcasm>
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Ha ezzel foglalkoznek, nem lennenek ilyan noob kerdeseim. :)
Megorokoltem a tenantot egy hobbiprojekt kapcsan, de mivel az en Outlookomba is be van kotve az egyik cim, ezert zavar, hogy telefossa az inboxomat ilyen kaszinos meg viagras hirlevelekkel.
- A hozzászóláshoz be kell jelentkezni
Az a space ott space?
Van egy par unicode karakter, ami ugy nez ki, de nem az. Elotte-utana valami? Right to left modvaltas?
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Az a space ott space?
Hacsak valami copypaste soran el nem tunt, akkor igen.
Headert nezve semmi lathatatlan okossag nincs benne, de annyira meg nem turkaltam bele.
- A hozzászóláshoz be kell jelentkezni
Két ötlet anélkül, hogy ebben (Exchange Online) bármi rutinom lenne:
- Kapcsos zárójelet tuti ismeri? Tudom, elég hülye kérdés, lehet, hogy itt (Regular expressions in mail flow rules | Microsoft Learn) csak véletlenül nem sorolják fel. Mindenesetre nekiállnék egyszerűsíteni a regexet esetleg egy más, kevéssé elutasító action-nel tesztelve, amíg kitapasztalod.
- A "word: " után angol ABC szerinti alfanumerikus karakter van vagy valami "egyedibb" unicode karatkter?
- A hozzászóláshoz be kell jelentkezni
Kapcsos zárójelet tuti ismeri?
Ez meg akar megoldas is lehet, bar akkor biztos picsan kene rugni valakit, ha igy lenne. Megnezzuk ezzel, hatha:
^word: [a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]$
A "word: " után angol ABC szerinti alfanumerikus karakter van vagy valami "egyedibb" unicode karatkter?
Angol abc szerencsere, bar a .-nak meg kene ugye fognia mindent. Ha ugye ismeri egyaltalan, mi az a {3}. :)
- A hozzászóláshoz be kell jelentkezni
Angol abc szerencsere, bar a .-nak meg kene ugye fognia mindent.
Ez környezetfüggő lehet, Linuxon GNU grep például így viselkedik:
$ echo 'á' | LC_ALL=C grep '^.$'
$ echo 'á' | LC_ALL=C grep '^..$'
á
$ echo 'á' | LC_ALL=hu_HU.UTF-8 grep '^.$'
á
$ echo 'á' | LC_ALL=hu_HU.UTF-8 grep '^..$'
$
- A hozzászóláshoz be kell jelentkezni
regex: ahány ház, annyi szintaxis
- A hozzászóláshoz be kell jelentkezni
Ez teny, de ujabban a PCRE libraryt (Perl-Compatible Regular Expression) szeretik beletenni a programokba (es nyelvekbe). Szoval a Perl, PHP, Python, JS (bar itt van minimalis kulonbseg (*)), meg amibe behuzod a libpcre-t (C/C++ es tarsai) kb. ugyanugy mukodnek. A regi, parancssoros Linuxos/Unixos programoknal van jellemzoen elteres, ami 2-3 evtizeddel megelozi ezt a libet.
(*) amikor named group-ot csinalsz, akkor (?P<name>.*) a szintaxis, JS eseten a P kimarad
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
A doksit szigorúan véve a szögletes zárójellel is gond lehet. Ezzel próbálkoznék:
^word: \w\w\w$
- A hozzászóláshoz be kell jelentkezni
Az "abc" resz alfanumerikus, szoval inkabb \S, mint \w, de a tegnapi pattern ugy nez ki, mukodni fog, most nezem a trace-ben mi van
- A hozzászóláshoz be kell jelentkezni
Na örülök, hogy sikerült lebutítani annyira, hogy működjön. :)
Amúgy ezt írja a Microsoft, hogy náluk a \w ezt jelenti: "The \w pattern string matches any single Unicode character categorized as a letter or a decimal digit." Máshol az underscore is belefér, szóval kérdés, hogy ezesetben a doksi rossz vagy sikerült ezt is sajátosan értelmezniük.
- A hozzászóláshoz be kell jelentkezni
Ezt regexnek nevezni kb olyan, mint a notepadet text editornak :D
Önmagában mindent elmond, hogy kb 3 oldalban le tudták doksizni.
- A hozzászóláshoz be kell jelentkezni
Ismétlésszámnak csak * van, még + jelet sem ismeri. Ha fix ismétlés kell, akkor muszáj lesz a mintát annyiszor ismételni, amennyit szeretnél.
Pontot sem ismeri, mint mindenre illeszkedő karakter. Fel kell sorolni minden létező karaktert sima zárójelek között. Mert még a [] karakterosztályokat sem tudja.
Ezekből látszik, hogy a kérdező próbálkozásait miért nem ismeri fel.
- A hozzászóláshoz be kell jelentkezni
A szerény véleményem szerint akkor az MS-nek megint sikerült valamit pocsékul implementálnia. Sebaj, 10 év alatt majd kijavítják...
- A hozzászóláshoz be kell jelentkezni
Basszus, tényleg ott a telefonszámos példa az általam fentebb linkelt doksiban, ahol a "." pontot jelent :D
- A hozzászóláshoz be kell jelentkezni
^word: .{3}$
Mi a pont? bármi 3x?
A space biztos, hogy 1 db?
- A hozzászóláshoz be kell jelentkezni
Aha, barmi kiveve newline.
Es igen, 1 db.
- A hozzászóláshoz be kell jelentkezni
space: \s{1} ?
- A hozzászóláshoz be kell jelentkezni
Jo otlet, egy probat meger.
- A hozzászóláshoz be kell jelentkezni
Tapasztalatom szerint a legtöbb nyelven csak így megy a space.
- A hozzászóláshoz be kell jelentkezni
Hát, én eddig még mindig láttam működni sima karakterként.
Egyébként minek a {1} ? \s miért nem elég?
- A hozzászóláshoz be kell jelentkezni
reflex, mindig a legszűkebb értelmezésre törekszem
vagy default {1} ?
- A hozzászóláshoz be kell jelentkezni
Persze, hogy az a default. Szép is lenne minden literal char mögé oda kéne írni.
- A hozzászóláshoz be kell jelentkezni
A word-ot mint alfanumerikus karakterek sorozatát így is meg lehet adni:
\w+
Ha jól értettem meg a mire kellene illeszteni-t akkor:
^\w+: \w{3}$
^word: \w{3}$
Kerdes hogy a space mindig csak sima space vagy kellene nezni unicode whitespace-re is, es pl. vagy-olni a \s-el.
De ahogy fentebb is utaltak ra, tudni kellene hogy pontosan melyik Regex Flavor-t hasznalja a cucc, lehet hogy csak valami alapot tud.
A RegexBuddy-t nagyon tudom ajanlani barmi ilyesmire es a companion website-ot is:
- A hozzászóláshoz be kell jelentkezni
Ez alapján:
Lehet hogy a quantifier-t nem tudja:
https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/reg…
Vagyis lehet ezt kellne kiprobalni a \w{3} helyett: \w\w\w
- A hozzászóláshoz be kell jelentkezni
Az aktualis tipp ez, kivancsi vagyok, mire jutunk vele:
^word:\s\S\S\S$
Kiderult, atjon rajta igy is. Hoho, vagy megsem? Az utolso frissites utan valamiert disabled lett a filter, most visszakapcsoltam.
- A hozzászóláshoz be kell jelentkezni