Avatar billede unknown_someone Juniormester
15. juni 2009 - 09:30 Der er 7 kommentarer og
2 løsninger

Spam i gæstebog

Jeg har en gæstebog med store spam-problemer - de værste af problemerne blev tidligere løst ved hjælp af javascript i form af en onclick funktion, der ændrede en værdi i et hidden formfelt.

Spam-robotterne er åbenbart blevet betydelig bedre til javascript da andelen af spam er steget inden for den seneste tid, så i weekenden besluttede jeg at fjerne det usynlige javascript og i stedet implementere CAPTCHA i form af et autogenereret billede, et inputfelt og en session men dette har bare betydet endnu mere spam.

CAPTCHA-billedet består af et baggrundsstøj-billede og i første omgang tal (feks "59473"), dernæst af et regnestykke (feks "3 + 6") og til sidste et tekst-regnestykke (feks "2 plus 5") men der bliver ved med at komme spam i store mængder.

Hvad er næste step - javascript og min CAPTHA-løsning er åbenbart for lette at komme igennem, så hvilke muligheder findes der så?
Avatar billede DjarnisX Nybegynder
15. juni 2009 - 09:38 #1
Hvad med at implementere akismet? Se http://akismet.com/ ... De er ihvertfald udemærket til at detecte spam :)
Avatar billede hnteknik Novice
15. juni 2009 - 09:51 #2
Jeg har tidligere lavet et indlæg omkring emnet. Jeg har med held sat et filter ind, som filtrerer indlæg med bestemte udtryk fra og fra bestemte områder på webbet. prøv at søge på det på Eksperten.
Avatar billede zagger Juniormester
15. juni 2009 - 10:39 #3
En anden mulighed kunne være selv at lave et spørgsmål som man skal svare på. F.eks. hvilken farve har græs? Eller hvilken farve er himmelen? Sådanne spørgsmål vil spamrobotter ikke umiddelbart kunne svare på, og i dette tilfælde slet ikke robotter som ikke kender til æ,ø,å.
Avatar billede Slettet bruger
15. juni 2009 - 10:38 #4
Vil det sige at spambots kan omgå fx. et regnestykke?
Det lyder ikke godt. Jeg har selv lige lavet en løsning, hvor man skal skrive resultatet af to tal, men hvis dette er for nemt at omgå skal jeg tilbage til tegnebordet :-)
Avatar billede unknown_someone Juniormester
15. juni 2009 - 16:04 #5
akismet er jeg vist støt på før - det kunne selvfølgelig være en løsning, men i første omgang vil jeg gerne være uafhængig af tredjepart.

Filtre har jeg tidligere arbejdet med på en anden side, men den seneste mængde spam indeholder overraskende nok for de flestes vedkommende ingen "farlige" ord så den bliver svær. Det tætteste jeg måske kan komme på er forekomsten af "<a href=" men det kan selvfølgelig ikke altid benyttes.

Den omkring spørgsmål var bestemt en mulighed men jeg kan lidt frygte at enkelte kan blive fanget fordi de ikke kan stave. Måske kunne dette løses med en dropdownboks med svarmuligheder.

thomasso - de kommer i hvert fald fint uden om det hos mig. Jeg har ikke engang resultatet i en session så den kan aflæses men derimod de to forskellige værdier i hver sin session.

Jeg har lidt at arbejde videre med men i er stadig meget velkommen til komme med flere idéer. Jeg vender tilbage med resultater.
Avatar billede Slettet bruger
23. juni 2009 - 00:10 #6
Hej

- Jeg ved godt det er noget siden at du oprettede dette her spørgsmål - men jeg har så også et forslag, som jeg selv har haft ret stor held med i forbindelse med den gæstebog jeg administrerer.

Men som vi jo alle ved, så fungerer de forskellige spam-bots forskelligt på internettet, og derfor er der heller ikke nogen facitliste på dit spørgsmål.

Den metode jeg har haft held med (den har fjernet alt spam) er at man placerer en skjult iframe på formularsiden. Den iframe submitter man så formularen i - sådan at det er der asp-siden som skal validere og gemme kører.
På din formularside skal du så sætte en session, det kunne for eksempel være en session, som vi kunne kalde "spam_tjek" som fx. kunne indeholde session.sessionid & "_" & now() altså noget som er unikt... I din asp-side som så gemmer i iframen tjekker du først og fremmest om sessionen "spam_tjek" findes - og hvis ikke stopper vi bare her. Så splitter man "spam_tjek" ved "_" og tjekker derpå om session.sessionid stemmer overens med den aktuelle session.sessionid og dernæst tjekker vi hvor lang tid siden det er at man er gået ind på formular-siden ved en datediff. Hvis det for eksempel er under 10 sekunder siden så kan det kun være en spammer.

Skriv endelig hvis du har yderligere spørgsmål...

\Dan
Avatar billede unknown_someone Juniormester
25. oktober 2010 - 16:15 #7
Alle må gerne lægge et svar så her kan blive lukket
Avatar billede hnteknik Novice
25. oktober 2010 - 17:32 #8
ok
Avatar billede zagger Juniormester
25. oktober 2010 - 18:13 #9
Bum!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester