Sikkerhed i form

Tags:    php html

<< < 12 > >>
Kære udviklere.

Er der nogle der kan forklare mig hvordan sikre man imod spam (en masse gentagende email's fra samme ip adresse) sådan at man ikke får unødige kommentarer?

Formen er indtil videre ikke særlig sikker. Den ser således ud:

Fold kodeboks ind/udPHP kode 


Fold kodeboks ind/udHTML kode 


Håber at der er nogle som vil hjælpe.

Mvh. Daniele



Indlæg senest redigeret d. 19.07.2011 13:56 af Bruger #16025
16 svar postet i denne tråd vises herunder
7 indlæg har modtaget i alt 24 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udHTML kode 


Fold kodeboks ind/udPHP kode 


Fold kodeboks ind/udCSS kode 




Something like that. Bemærk jeg er ikke så garvet i HTML/PHP/CSS som jeg har været, så hver opmærksom på fejl og mangler. Den basiske idé er at du laver et ekstra input felt med et navn der kan tiltrække spambots ("message" fx) og så gemmer du det med CSS så dine normale brugere ikke ser feltet. Så før du processerer dine inputs på server siden, tjekker du om feltet virkelig er tomt. Hvis feltet er tomt bør du kunne gå ud fra at det var en bruger der indsendte formularen, hvis der er indhold (ligegyldigt hvad) er det højst sandsynligt en bot. Bot's læser ikke CSS sidst jeg tjekkede, måske en skønne dag de vil. Men for nu skulle det holde det værste væk.


Udvidet forklaring:
Grunden til at det kan virke er at spam bots for effiktivtet og simplicitet bare downloader din bagvedliggende HTML kode og finder alle tænkelige formulerer (eller går efter dem med specielle navne som "message" eller "comment" osv) og så indsender de POST dataene direkte til din server uden om nogle som helst browsere. Dvs din side bliver aldrig renderet hos spambotten, og derfor kan den ikke se at det felt den er ved at sende ind, faktisk slet ikke bliver vist til brugeren.
Normale brugere ser jo ikke feltet og kan derfor ikke udfylde det, ved mindre de skulle bruge en browser der ikke understøtter CSS men det er jo ret usandsynligt.



Indlæg senest redigeret d. 19.07.2011 20:26 af Bruger #14381
Prøv at kigge på ReCaptcha

Den kan sikre dig imod Spam botter, hvis det er det du ønsker



Indlæg senest redigeret d. 19.07.2011 14:11 af Bruger #4487
Nu kender jeg ikke lige resten af koden, men kan ikke helt forstå hvorfor du henter security_code fra session ? Bliver det lagret i sessions ved login ?



Jeg ved sgu ikke om det stadig virker, men et trick er at lave et felt der hedder "coment" eller "message" og så bruge css til at gøre det usynligt.
Så skal du bare KUN godkende kommentaren hvis feltet er tomt.

Så vil spambots udfylde feltet, fordi de jo gerne vil spamme, mens mennesker ikke vil se det.

Jeg har med success brugt det på mange af mine sider, men jeg ved ikke om spam botsne er blevet klogere.



Indlæg senest redigeret d. 19.07.2011 16:31 af Bruger #14381
#Henrik
Tak. Jeg kunne ikke få det til at virke med den der CSS, så jeg brugte bare type="hidden" i input feltet :).


Du bør ikke bruge type="hidden" da spambots nok vil undgå disse felter. Den metode jeg har brugt igennem mange år er også den Henrik skriver - kalder bare feltet for "captcha" i stedet da spambots godt ved at de skal udfyldes (hvilket jeg ikke vil have).

Jeg vil dog alligevel anbefale dig at bruge Google's ReCaptcha: http://www.google.com/recaptcha Det er nok den mest brugte og dermed nok også den mest sikre på nettet :-)



#Henrik
Kan du give et eksempel på hvordan du vil gøre det? :)



#Henrik
Tak. Jeg kunne ikke få det til at virke med den der CSS, så jeg brugte bare type="hidden" i input feltet :).



Ja, kig nærmere på den som Martin skriver om.

En anden mulighed er at lave et felt mere som fx:

Fold kodeboks ind/udHTML kode 


Så kan du, i din php teste om brugeren skriver 4. Det er den hurtige måde, men knap så pæne :)



#Martin

Jeg har fundet noget lign. det du har sendt. Men det virker ikke optimalt.

Fold kodeboks ind/udPHP kode 


Den udskriver: "Wrong security code".

Og formen ser sådan ud nu:
Fold kodeboks ind/udHTML kode 


Jeg fandt det hele her:
http://www.white-hat-web-design.co.uk/blog/php-captcha-security-images/

#Christian
Det er også det jeg plejer at lave, men kan ikke lide den mulighed.



Indlæg senest redigeret d. 19.07.2011 14:16 af Bruger #16025
Det stykke kode du skriver ser også lidt mærkeligt ud,
Du forsøge at hente :

Fold kodeboks ind/udPHP kode 

Men i din HTML står den som:
Fold kodeboks ind/udHTML kode 


altså med under_score.

Jeg er heller ikke selv fortaler for den mulighed, synes ikke den virker så godt i længden, men den virker :)



<< < 12 > >>
t