Avatar billede MalleH Nybegynder
08. september 2011 - 21:37 Der er 6 kommentarer og
1 løsning

Spam filter til PHP gæstebog

Har virkelig brug for hjælp her!

Har lige været inde og tjekke min gæstebog på min hjemmeside, hvor der var - hold lige fast - intet mindre end 3.795 spam beskeder på mindre end en måned. Jeg gider jo ikke sidde og slette det via phpmyadmin hele tiden og synes faktisk det er vildt trælst!

Hvad kan jeg gøre? Jeg må indrømme at jeg ikke er den skarpeste kniv i skuffen, hvad angår avancerede PHP koder, så nogle ting er I nok til at forklare lidt, for dummies agtigt :/

Håber I kan hjælpe med en forholdsvis nem men brugbar kode.

Med venlig hilsen Marlie
Avatar billede arne_v Ekspert
08. september 2011 - 21:45 #1
Du skal vel have puttet en captcha paa.
Avatar billede micma18_ Nybegynder
08. september 2011 - 22:17 #2
Ja, eller en anden delvis effektiv løsning, der er hurtigere at lave.

Lav et billede, indeholdene et spørgsmål. Fnidr det eventuel som visse captcha er... Men eksempelvis er det meget sjældent at en bot, finder det korrekte svar på eks.

"fire - 1 plus III"

Og så lad korrekt input være både tallet 6, samt ordet seks. Så finder de fleste nok ud af det ;-)

Eller "Hvad hedder den største Ø, i det danske kongerige".... osv. osv.

Har selv brugt et statisk spørgsmål i samme stil, på en side plaget af samme bot spam. Og selvom spørgsmålet ikke er ændret i 2 - 3år nu, så har der ikke været noget spam siden.
Avatar billede arne_v Ekspert
08. september 2011 - 23:16 #3
Der boer findes faerdige captcha loesninger som kun kraever lidt copy paste.
Avatar billede MalleH Nybegynder
09. september 2011 - 08:30 #4
#micma18_

Det lyder som et godt alternativ, men hvordan skal man lave det? Hvordan kan man i koder, lave så computeren ved om det er rigtigt eller forkert svar?
Avatar billede micma18_ Nybegynder
09. september 2011 - 09:41 #5
Det kan du lave med en simpel if sætning:

eks.

//start med at kører en oblikatorisk strip_tags på alle inputs
$_POST[sikkerhedssporgsmål = strtolower($_POST[sikkerhedssporgsmål); //for en god ordens skyld lave alle bogstaver små
if ($_POST[sikkerhedssporgsmål] == '6' || $_POST[sikkerhedssporgsmål] == 'seks'){
//resten af indsæt koden
}
else {
//ville her vælge at returnere brugeren til formularen, med fejlmeddelelse, og kommentar feltet udfyldt med de data der allerede er indtastet. (returner kun data der er strip_tags)
}
Avatar billede MalleH Nybegynder
09. september 2011 - 10:00 #6
Puha, det håber jeg at jeg kan finde ud af.
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