20. november 2006 - 08:54Der er
12 kommentarer og 2 løsninger
Formulat bot-scannere??
G'morgen.
Vi har det sidste stykke tid været udsat for en del spam, der kommer fra vores html-formularer på vores website. Noget af det ser typisk ud som dette:
Content-Type: multipart/alternative; boundary=3a6837fc17779cf72d7571dee75e65f5 X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Subject: unhealthy, and contribute to heart disease. owever, other acon bcc: wpradjinata@adelphia.net,burt.merdig@yahoo.com, fallen_angel_2day@hotmail.com,topcopl2@aol.com,babigurl513@yahoo.com
Det pudsige er, at de kommer igennem vores javascript-validering og får submittet formularerne uden at vælge nogen felter der er påkrævet.
Nu har vi så fået vores shop op i fredags, og så ser jeg straks at der i weekenden er blevet lagt en masse varer i indkøbskurven, men der er ikke blevet afsendt nogen bestillinger. Ved nærmere eftersyn har hver ting i kurven sit eget ordrenummer, derfor mistænker jeg de samme "formular bot-scannere" for at submitte læg-i-kurv formularen på shoppen.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Hvis man auto generer et sådan billede, og validerer det server side kan man forhindre meget af det spam i modtager. Værdien af billedet må ikke fremgå af den del af kildekoden man kan se fra en browser. Javascript validering er forholdsvis nemt at omgå. Du kan lave et program eller script som poster værdier til jeres side. Hvis i ikke har serverside validering vil form værdierne blive gemt i databasen.
Jo, men vi kan jo ikke begynde at smide billedekode på ved siden af hver produkts "læg i kurv" ikon. Vi har en simpel "Antal" <input> og en "læg i kurv" submit button.
De er gyldige nok...standardværdien i Antal er 1..hvilket det skal være af brugervenlige årsager. Det er bare som om de bots trykker på læg-i-kurv knappen.
Fordi hvis det er der, så skal i lægger serverside validering ind og kontrollerer at krævet værdier ikke er tomme. Og i kan lave tricket med billedet på selve ordre formularen.
Problemet eksisterer ikke på selve ordre formularen. Det er udelukkende inde under hvert produkts læg-i-kurv knap. Og selvfølgelig inde under 2 kontakt formular sider, der kræver indtastning i nogen felter.
Hvis du lige laver et svar, så får du halvdelen af points. Fik lige fat i en kammersjuk, som mente at hvis man lavede et onsubmit, der ændrer en hidden value til noget andet...så kan man tjekke på det, før man gemmer i db. :)
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.