Utökat stöd för proxyfiltrering genom stilmallar (phpbb3)
Sedan 2006 har jag varit utvecklare av en websida som med hjälp av DNS-uppslag (vilket i forumportals acp definieras som "DNS Blackhole", under säkerhetsinställningar) stoppar olika typer av proxyangrepp och/eller webspam. Sedan en tid tillbaka har den websidan dragit igång ett samarbete med en site som explicit arbetar med att motarbeta forumspam. Jag insåg ganska nyligen efter att ha upplevt en del märkliga spam bland forumen här, att forumportals inbyggda skydd mot proxys/spam inte är tillräckligt och jag har haft huvudbry rätt länge kring huruvida man kan utöka forumportals stöd ytterligare. Dessvärre har forumportal valt endast ett fåtal blackholes, vilka ibland inte täcker proxys från TOR-nätet, eller väldigt speciella spamhoster, som bland annat distribuerats från StopForumSpam.
I veckan upptäckte jag dock att stilmallar gick att redigera och bland acp-inställningarna finns också en möjlighet att aktivera PHP-kodningsmöjligheter direkt i stilarna. Vilken kanongrej! Det slutade med att jag fick ihop ett script, som kontrollerar proxystatus mot bland annat den svartlista som stopforumspam.com skrapar ihop dagligen (minutvis för att vara mer exakt) och distribuerar genom DNS. Enda nackdelen med scriptet är att det inte har någon egen databas att temporärt lagra alla DNS-uppslag, vilket de övriga script som utvecklats i sammanhanget har. Alla uppslagen hämtas alltså direkt från DNS-Cache istället för databas. Jag vet alltså inte hur det fungerar på större forum, men de första scripten som lanserades på vbulletin.org hade problemet med att DNS-uppslag gjordes hela tiden. Därför bör man vara försiktig med användandet och eventuellt bara aktivera det då man får problem med spam.
Installationen är rätt enkel.
Steg 1 är att tillåta PHP direkt i stilmallar. Detta görs i säkerhetsinställningarna.
Steg 2 är att välja rätt stilmall. Vill man att scriptet skall fungera oavsett plats på forumet så är overall_header ett rekommenderat ställe. Vill man, kan man nog även placera scriptet bland postmallarna, så att användare bara blockeras när de skall skriva inlägg eller besvara dem. Det lär dessutom belasta servern mindre, med uppslag.
Steg 3 är att klistra in PHP-koden som styr uppslagen. PHP-koden finns i textfilen på länken nedan.
Hanteringen av scriptet sker direkt från stilmallen. Aktivering/avaktivering görs genom att ändra $dnsbl_enable till antingen true eller false. Scriptet är i textfilen inställt på att blockera alla proxys som mer eller mindre är anonyma (däribland ingår TOR-nätet). Det är den variabel som är namngiven $block["tornevall_anonymous"] man aktiverar, genom att sätta värdet TRUE. Den andra ($block["tornevall_abuse"]) är i princip helt anpassad till StopForumSpam's behov. Alla inställningar man inte vill ha tar man helt enkelt bort. Vill man aktivera fler olika sorters proxyblockeringar aktiveras detta med hjälp av arrayen $rtornevall, men jag tror att de två inställningarna som lagts in som default är fullt tillräckligt. Risken är annars att det blir för många falskalarm.
En annan sak är att man bör tänka på, om man har fler stilmallar att alla mallar som används av någon användare, måste uppdateras på samma sätt...
http://dnsbl.tornevall.org/download/dns ... _phpbb.txtEtt exempel på hur det ser ut när blockeringen träder i kraft kan ses på
http://dnsbl.tornevall.org/download/dns ... _phpbb.jpgHa det gott!