email adres op echtheid controleren in formulier.

  • Onderwerp starter Onderwerp starter jebl
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jebl

Gebruiker
Lid geworden
8 dec 2011
Berichten
109
Hallo,

Op de website van onze club staat het volgende formulier:

http://www.ghsv-gideon.nl/formulier.html

Nu krijg ik vaak dit soort onzin inschrijvingen binnen:

De volgende email is via de website binnengekomen:

Geleider: 48419
Achternaam: epzebhs
Adres: http://cqtfpcgtgcqo.com/
Postcode: http://cqtfpcgtgcqo.com/
Woonplaats: http://cqtfpcgtgcqo.com/
Telefoon: 85608792416
Uemail: wnydkm@qnpirj.com
Lidmaatschapsnummer: 853325
Vereniging: BrCXAUAJsWoImU
Verenigingsnummer: QiFFSGYcZD
Eigenaar: wnydkm@qnpirj.com
Lidmaatschapsnummer_eigenaar: 57496
Naam_hond: epzebhs
Geboortedatum: wnydkm@qnpirj.com
Ras: ewiRQNxvxEKScob
Geslacht: wnydkm@qnpirj.com
NHSBnummer: IagfZRDfFViGpqKrpXm
Chip_tatoeagenummer: wnydkm@qnpirj.com
Naam_vaderhond: epzebhs
Naam_moederhond: epzebhs
Certificering_hond: lDtzSAsszABeaOsytZ
Voorgebracht: wnydkm@qnpirj.com
Datum: ITfrESJDAHIh
Naam_geleider: 4679
Submit: Verzenden!
Subject: Noorderlichtbokaal 2012

Nu is mijn vraag vanzelf, is dit te voorkomen of moet ik het maar gewoon voor lief nemen?
Alvast bedankt voor het meedenken.

Greetzz, Jebl
 
Je kunt de echtheid van een opgegeven domein onderzoeken. Je loopt dan wel het risico dat als iemand per ongeluk een typefout maakt dat die persoon dan volledig opnieuw moet beginnen.

In dit geval is een aantal type data wel te controleren: letters waar alleen cijfers moeten staan. cijfers waar letters moeten staan e.d. dat soort validatie is wel redelijk eenvoudig toe te passen. Specifiek e-mail kun je wel kijken of iets een valide adres kan zijn, maar het adres volledig controleren is erg moeilijk.
 
Aan een email-adres valt niet zo gek veel te controleren.
Het belangrijkste is dat je het laatste gedeelte controleert (.com, .nl, e.d.)
Voor de @ kan er natuurlijk van alles staan. Een 'rare' combinatie als hak0j81 kan net zo goed geldig zijn als peter of info of meester.

Als de velden in het formulier inderdaad zo bestaan als je hier laat zien,
dan zitten daar natuurlijk nog wel aardig wat mogelijke controles in.
de samenstelling van een NL postcode kun je controleren (met meer moeite zelfs de bestaanbaarheid)
de samenstelling van een (geboorte-)datum kun je controleren
voor het invullen van geslacht moet je voorgeprogrammeerde keuzes gebruiken (radiobutton M, V)

Als je een lijst hebt met bestaande verenigingen, kun je ook daarop controleren.

De kans dat zo'n formulier door een robot of een niet-ingewijde wordt ingevuld, wordt daarmee drastisch verkleind.
 
En je kunt alle in te vullen velden controleren (met php, niet met javascript!) of er soms "http://" in staat, want er wordt nergens een website gevraagd; en wat als zodanig binnenkomt zullen sites met troep zijn.
Ik heb er maar niet op geklikt! ;) *)

Met vriendelijke groet,
CSShunter
___________
*) Om eventueel onheil via de code hierboven in je eerste post te vermijden: svp even die 3 links uit je bericht halen! - Want het zou best eens een "gerapporteerde aanvalssite" kunnen zijn (of erger: een niet-gerapporteerde aanvalssite)...
 
Laatst bewerkt:
Oké, het is duidelijk dat er wel het één en ander aan te doen is.
Maar hoe ga ik dan te werk?
Welk script kan ik het best gebruiken?
 
Je kan de email checken met een reguliere expressie, zoek maar even op Google. Ook kun je een lookup doen, maar die zijn niet altijd betrouwbaar.
 
Je kunt gebruik maken van regular expressions. Dat kan zowel in javascript voor het indienen van de form of in PHP na submissie.

http://www.w3schools.com/jsref/jsref_regexp_test.asp

De test kun je toepassen op alle invoer. Je moet je mogelijk wel even inlezen op regular expressions, maar daar kunnen we eventueel ook mee helpen:

alleen cijfers toestaan: ^[0-9]+$
precies 10 cijfers toestaan: ^[0-9]{10}$
postcode: ^[0-9]{4} ?[a-zA-Z]{2}$

NB wilde ik gisteren al posten maar blijkbaar niet goed gegaan
 
... kan zowel in javascript ...
Javascript lijkt me niet veilig: dat kan de bezoeker/spamrobot uitzetten, en toch rommel inzenden.
Toch?

En-en lijkt me wel kunnen: dan kan het javascript er alvast on-the-fly de tikfouten, incomplete velden e.d. uithalen voordat het formulier verzonden wordt. Met meteen terugkoppeling na het invullen van een bepaald veld = vergroting gebruiksgemak.
De waterdichte check kan daarna op de server met php plaatsvinden.

Met vriendelijke groet,
CSShunter
 
Beide is inderdaad het beste. Je kunt echter ook ervoor kiezen dat als de client javascript uitzet dat submissie niet meer mogelijk is. minder vriendelijk, maar zal voor 99% van de bezoekers niets uitmaken.

Alleen PHP is wel vaak onvriendelijk. Een enkel foutje kan alles opnieuw invullen betekenen. Je kunt wel een resubmit afdwingen, maar dat moet de client ook accepteren.
 
Tegen spam van een robot kan voor het verzenden van het formulier gevraagd worden om een code in te vullen die in een venster verschijnt of om antwoord te geven op een eenvoudige vraag.

Om te voorkomen dat niet bestaande e-mail adressen worden ingevuld kan je werken met een bevestigings-mail waarin personen een link ter validering moeten aanklikken, zodoende kan je ook bewijzen dat bepaalde personen daadwerkelijk tot acties zijn overgegaan, in dit voorbeeld dus ergens lid van hebben willen worden. Bij schade, zelfs al is dat spam, kan door autoriteiten tot actie worden overgegaan en de identiteit van de fraudeur meestal worden achterhaald. Ik denk dat je dan wel van de meeste overlast af zult zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan