Validate formulier

Status
Niet open voor verdere reacties.
Wat heb je al / weet je al?

Heb je al met goolge wat uitgezocht en geprobeerd?

Met php kun je heel veel dingen valideren op verschillende manieren!
 
Als je spambots af wilt weren is het makkelijkste om een extra veld toe te voegen aan je formulier (geef het een logische naam) en dat met CSS onzichtbaar te maken (met de display: none property)

Vervolgens controleer je of er in dat veld iets ingevuld is. Zo ja, dan is het een spambot geweest en dan wijs je dat formulier af. Het formulier is namelijk voor menselijke gebruikers niet zichtbaar, maar voor spambots wel, dus iedereen die het invult kun je afwijzen ;)

Is verreweg de makkelijkste manier.
 
Frast, Ik had ff een vraagje over de werking van een spambot.

Submit een spambot daadwerkelijk een form, dus klikt hij virtueel op de verzend knop.

Of zoekt hij de url van de form action op en genereerd hij daar POST of GET variabelen voor.

kennis is macht en daardoor leer je beter beschermen!
 
Spambots vragen een pagina op en simuleren dan een POST request, maar het is vrijwel onmogelijk om het verschil te zien tussen een request van een user en een request van een spambot.
 
okey, dus een uniek nummer aanmaken die je in een session laat zetten en in een hidden field meestuurt met de form.

Om vervolgens tegen elkaar te controleren op de actionpage. is ook een goeie beveiliging.

Want de bot zal de hidden field ook invullen, maar nooit het unieke nummer laten staan!

Of begrijp ik het nu verkeerd!
 
Wat ik nu heb gedaan op http://www.goodnightladies.nl/gastenboek.php is inderdaad een onzichtbaar veld toevoegen. Maar zoals je kunt zien verstuurd hij het formulier alsnog waardoor er lege velden in mijn gastenboek komen. Is er een mannier om dit te verhelpen? Plus zijn er nog meer dingen nodig om mijn formulier te valideren?

ALs je nu een vak vergeet in te vullen krijg je een lelijke standaard error van dreamweaver. Is er een mannier om dit zelf mooier te maken?

Groet
 
Je kunt de verborgen textfield gewoon leeg laten. Een spambot ziet namelijk het verschil niet tussen een textfield met display: none en eentje zonder, en zal ze dus allemaal invullen, terwijl een gebruiker die met display: none niet te zien krijgt.
 
Dit bedoel ik niet. Het script, incl. verborgen veld, verstuurd hoe dan ook de mail. Er wordt laat maar zeggen alsnog op de verzend knop gedrukt maar omdat het verborgen veld met script wel werkt wordt hij leeg verzonden, en komt hij dus ook als leeg in het gastenboek te staan!

Groeten
 
Dan moet je de $_POST['hidden_field'] niet verwerken in je gastenboek
 
Dit heb ik ook niet. Er wordt niks ingevult omdat het verborgen field werkt, toch wordt het door de website gezien als verzend en wordt het formulier verzonden, omdat er niks in het verzonden formulier staat komt er dus ook een leeg respons terug in het gastenboek.
 
Als hij terug komt in je gastenboek, dan moet je de $_POST hebben gebruikt en opgeslagen. Want $_POST is een array waar je gegevens uit kunt halen die je wilt gebruiken.

anders post de script die het formulier verwerkt!
 
klopt, maar ik persoonlijk heb een hekel aan al die invoervelden. als het zonder kan doe ik het liever zo, ik denk liever aan het gemak van de gebruiker.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan