24. januar 2015 - 17:19Der er
8 kommentarer og 1 løsning
Anti spam i MySQL database
Hej.
Jeg arbejder på et større projekt, som har rigtig mange besøgende (internationalt), men der har været store problemer med vanvittig mange "fake"/"spam" oprettelser på sitet. I den forbindelse var tanken at vente med at oprette de forskellige ting i databasen, til EFTER at den enkelte bruger har aktiveret deres email via et link i den velkomstmail de modtager efter oprettelse. De oplysninger der er indtastet i submit-formen i oprettelsesprocessen, gemmes blot i en "temporary" databasetabel, hvor de automatisk slettet via et cronjob efter 2 uger, hvis de ikke er aktiveret.
Men selvom jeg har lavet dette, kommer der stadig en masse fake/spam oprettelser i databasetabellerne, selvom der først indsættes data, hvis det pågældende link indeholder et bestemt md5-streng som matcher en i den temporary-tabel. Jeg forstår ikke engang hvordan det kan ske? Alt er kodet i PDO, så sql-injections mv. skulle ikke være et problem.
Men hvad er problemet her? I selve oprettelsesprocessen er der også en captcha, som skal udfyldes inden man kan fortsætte.
Håber der er en vis mand eller dame, som kan hjælpe mig :)
Ideer: * black list email adresser saa de kun kan bruges til spam en gang * haandter forskellige email adresser forskelligt: - fornavn.efternavn@isp.dk er med paen sandsynlighed OK og kan accepteres med det samme - blabla12345@hotmail.com er lidt mere risikabel og du kunne laegge enten en forsinkelse eller an manuelgodkendelse ind * check paa IP adress - ignorer evt. dem fra meget suspekte lande - hvis de angiver land i deres oevrige oplysninger saa sammenlign det med deres IP og matcher det ikke saa enten ignorer eller lav manuel godkendelse
- Blacklist, hvordan? I forvejen kontrolleres det, om den enkelte email allerede er oprettet, hvis ja, oprettet brugeren ikke.
Fine idéer. Men jeg forstår bl.a. ikke hvordan de kommer igennem captcha'en i oprettelsesprocessen. Kan ikke lave være med at tænke på, hvordan facebook eksempelvis har håndteret dette? Har de også en masse spam i deres databaser?
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.