Manual:$wgSpamRegex/hu

Bármely, a változóban rögzített szöveggel („regexszel”) egyező szerkesztés wikispamként lesz értékelve és a szerkesztés elmentése nem lesz lehetséges. A $wgSpamRegex minden felhasználóra, még az adminisztrátorokra és bürokratákra is vonatkozik. A csoportonkénti szűrés a használatával lehetséges. A $wgSpamRegex a MediaWiki egyik leghatékonyabb spamszűrő funkciója. A beállítás nem blokkol minden spamet, de azok mennyiségét drámaian csökkentheti, miközben a jóindulatú szerkesztők emiatt nem szenvednek kárt. A $wgSpamRegex konfigurációja szabja meg a MediaWiki szövegfelismerésének módját, és annak eldöntését, hogy az spam-e.

Egy nagy példa
A következő példában szereplő beállítást érdemes kipróbálnod saját wikiden; a példawiki egy kis/közepes méretű weboldal, amely spammerek támadásának van kitéve. Illeszd be a következő kódot a -ba:

Az utolsó előtti sor végén nem szerepel a „|” jelölő; ennek oka, hogy a következő sor lezárja a kifejezést, valamint tartalmazza az „i” kapcsolót.

Ez a példa a Meta-Wiki spam-feketelistájáról származik, és gyakori, spamre utaló karakterláncokat tartalmaz, egyben a blokkoláshoz is segítség lehet. CSS-be rejtett spam

A szűrő használata a spamek megakadályozása
Itt találsz egy útmutatót. A $wgSpamRegex-szel való kísérletezés után teszteld az eredményt a próbalapodon. Figyelem! Gondoskodj az álpozitív eredmények kiszűréséről (például hasznos szerkesztések spamként való megjelölése); lásd alább az ÁLPOZITÍVOK KISZŰRÉSE! szakaszt.

A $wgSpamRegex-ben rögzített beállítás egy reguláris kifejezés (lásd a Wikipédia-szócikket és a [$wgSpamRegex PHP-útmutatót]). A fenti példában egy a PHP szintaxisával egyszerűsített, többsoros kifejezést láthattál. Ezzel a kifejezések rövidebbek, viszont bonyolultabbak lesznek.

Saját kifejezéseid megalkotásakor teszteld őket a PCRE Regex Evaluator oldalon (kattints a PCRE fülre).

Egyszerű példa
Alább egy még egyszerűbb példát láthatsz:

Tartsd észben: a cél eldönteni – a szerkesztés spam-e vagy sem? Ezzel a példával bármely, a „ ” karaktersort tartalmazó szerkesztés nemkívánatosnak lesz jelölve. A kezdő és záró „/” jelek a reguláris kifejezés szintaxisának részét képezik.

Több különböző szó/domain tiltása
Egészítsük ki a példánkat további spamek elfogásához:

A szavak közti „|” jel több spamnek jelölt szót is tilt, valamint a spammerek által reklámozott URL-címeket is megfogja.

A $wgSpamRegex minden közzétenni kívánt szövegre vonatkozik, ideértve az URL-címeket is; ezáltal egy bizonyos spammer ellen hatékony lehet a domaincímek blokkolása.

ÁLPOZITÍVOK ELKERÜLÉSE!
A hasznos szerkesztések spamnek jelölését nehéz elkerülni, ezt leginkább a következő rossz példával lehet szemléltetni:

Sok spammer szerkesztésében megtalálható a „cialis” („valami drog. Kit érdekel? Minket nem!”); a szűréshez kézenfekvő lehet a szó tiltása, azonban ezzel például a „specialista” szót sem lehet közzétenni. Ezt a hibát nagyon könnyű elkövetni; igyekezz a reguláris kifejezésben használt szavak megválogatását, mivel a cél a spammerek távol tartása a hasznos szerkesztők zavarása nélkül. Sok esetben megoldást jelenthet a „\b” beillesztése a kifejezés végeire, amely hosszabb szavakban figyeli az adott karakterlánc előfordulását, például:

Egyéb tippek
A reguláris kifejezések nagyon hatásosak. A $wgSpamRegex-ben foglalt kifejezések vizsgálata a teljes lapon, vagy az éppen szerkesztett szakaszban történik, nem csak az URL-ekben. Ezáltal szinte bármi nem kívánatos kifejezés tiltható, ha megfelelő kifejezést írsz hozzá (az álpozitívok kiszűrése érdekében a kifejezések legyenek minél specifikusabbak). A következő szakaszban azt mutatjuk be, hogyan használható az eszköz a CSS-be rejtett spamek ellen.

Egyezéskor mutatott üzenet
Alapesetben ha a $wgSpamRegex egyezést talál a lapon, a következő üzenet látható:


 * Az általad elmenteni kívánt lap fennakadt a spamszűrőn. Ennek oka valószínűleg egy feketelistára helyezett hivatkozás.


 * A spamszűrőn fennakadt szöveg a következő: [tiltott szó/domainnév]

A szöveg megváltoztatható; ehhez keresd meg a „spampro” üzenetet a „Speciális:Rendszerüzenetek” lapon. A szerkesztést csak az arra jogosultak végezhetik el.

A „MediaWiki:Spamprotectionmatch” lapon szereplő „$1” mutatja a fennakadt szerkesztés regexét; elrejtéséhez töröld a „$1” változót.

A fennakadt szöveg megjelenítése és elrejtése
Ha egy túl szigorú regexet hoztál létre, vagy egyéb hibát vétettél a beállításkor, akkor ennek hasznos szerkesztések is áldozatul eshetnek. A fenti példa alkalmazásakor jó szándékú módosítások is fennakadhatnak a szűrőn (például felhasználók, akik tényleg Viagra-vásárlásról szeretnének beszélni).

Az egyezést tartalmazó szöveg listázásával a MediaWiki:Spamprotectionmatch segít az álpozitívok kiszűrésében.

Ezáltal a felhasználók jelezhetik neked a $wgSpamRegex-szel kapcsolatos hibákat.

A szöveg áttekintésével kitalálhatják, hogyan fogalmazhatják át a szöveget ahhoz, hogy folytathassák a szerkesztést.

A szöveg megjelenítése sajnos az oldaladra tévedő spammerek számára is nagyon hasznos információ. Az ilyen szerkesztéseket közzétevők egy része automatikus bot, így ezek nem értelmezik ezt az információt, azonban másik részük (ha hiszed, ha nem) ember. Ők a kapott információt visszaélésekre használhatják fel (például a tiltott domaincím helyett másokat illesztenek be). Nem tudni, mennyire gyakori ez a viselkedés, mindenesetre az a legjobb, ha a szerkesztéseiket minél inkább visszaszorítod. A szöveg elrejtését legegyszerűbben a MediaWiki:Spamprotectionmatch lap kiürítésével végezheted el. Ezt csak akkor tedd meg, ha tisztában vagy azzal, hogy esetleg hasznos szerkesztések is fennakadhatnak a szűrőn, és a lehető legnagyobb körültekintéssel alkottad meg a reguláris kifejezésed.

CSS-be rejtett spam
A MediaWiki nagyon megengedő a HTML-címkékkel és CSS-stílusokkal kapcsolatban (lásd: meta:Segítség:HTML wikiszövegben).

Ezzel a spammerek elrejthetik a nemkívánatos szerkesztéseiket. Ezek nem fognak látszani olvasáskor, azonban a lapok szerkesztésekor olvashatóak lesznek, illetve a friss változások között is listázódnak. Emellett a viselkedés összezavarhatja a felhasználóidat, ez pedig fontosabb, mint hogy egy spammer linkfarmnak használja a wikidet. Általánosságban: a CSS-be rejtett spam rossz. Az, hogy nem látod (egyszerűen), nem jelenti azt, hogy ignorálhatod is.

A problémát először a chongqed.org felhasználói fedezték fel 2005-ben, de 2006-ban a helyzet tovább romlott, amikor úgy látszott, a legtöbb MediaWiki-spammer ezt a módszert használja.

Az általuk használt CSS-trükköket a reguláris kifejezéssel kivédhetjük. Ezek közül kettő a fenti, teljes példában is szerepel (a „|” szimbólum használatával kombinálva):

A  formájú CSS-spam megelőzése:

A  formájú CSS-spam megelőzése:

Egy szigorúbb beállítási mód, ha megtiltod egyes CSS-stílusattribútumok használatát:

…de ezzel hasznos felhasználóidat is túlságosan korlátozhatod.

MINDEN külső hivatkozás tiltása
A következő kóddal minden külső hivatkozás közzétételét megtilthatod:

Ezzel a beállítással a wiki hasznos felhasználói sem szúrhatnak be többé linkeket. Ez egy gyenge próbálkozás a spamprobléma megoldására, de még mindig jobb, mint a teljes lezárás.

Ha ezt szeretnéd használni, a MediaWiki:Spamprotectiontext tartalmazza a művelet indoklását.

Max 100 külső hivatkozás közzététele
Limitálhatod a külső hivatkozások laponkénti számát, például maximum 100-ra:

Ha ezt szeretnéd használni, a MediaWiki:Spamprotectiontext tartalmazza a művelet indoklását.

pcre.backtrack_limit
A PHP-ban az 5.3.7 verzió óta egy pcre.backtrack_limit található, melynek automatikus értéke egymillió. Azonban ez még mindig túl alacsony lehet. Módosításhoz add hozzá a következőt a „LocalSettings.php”-hoz:

Ha ez még mindig nem elég, növeld a wikid tényleges szükségletéig.