Ik heb een formulier op mijn site staan waar 1 of andere grappenmaker eens in de zoveel tijd een script ofzo op loslaat waardoor ik een stuk of 20 mailtjes van mijn site krijg...

Weet iemand een script om dat te blokken/tegen te gaan?

De site: http://www.djventilator.nl/Form/contact_dj.htm

ps Het formulier zelf wordt al mbv javascript gevalideerd, maar dit is blijkbaar niet voldoende...
1) Hang het anders in een sessie? Dan kan het iig neit meer handmatig worden gedaan.

2) Sla het ip adres van de gebruiker op, en disabel het (voor 10 minuten ofzo) als de gebruiker het formulier heeft verzonden.

En, stel dat de pagina wat traag is, en ik druk 20 keer heel snel op de verzendknop, word het script dan ook 20 keer verwerkt????
Bedankt voor de tips!
Thomas, ik zal het eens onderzoeken als ik weer wat tijd heb (ben EGTE NOOB)
Bienze,
1) HUH? (ikke noob)
2) ip adres is vals, meerdere malen verscheidene adressen in Zuid Amerika, centraal Afrika etc
3) is niet traag, maar met 'vorige pagina' staan wel alle zelfde gegevens erop... IS DAAR NIET WAT AAN TE DOEN?
Ja, moet je even kijken (met meta, of andere headers) of je de cach limit in kan stellen op 0 ofzo... Dan is de pagina namelijk niet meer geldig als je terug gaat.

Verder... ja... wat gebeurt er als je op F5 drukt (oftewel een refresh uitvoerd) word het formulier dan opnieuw verzonden????

Dat met die ip adressen die vals zijn, kan je wijnig tegen doen.. zou kunnen door een proxy server, en zelfs alleen al als je een inbelverbinding hebt wisselt je ip adres bij iedere keer aanmelden!

Verder, javascript kan je uitschakelen... daarom moet je de validatie nóg een keer uitvoeren met php! Dan pas weet je zeker dat het formulier juist is ingevuld.

Een afbeelding met tekens (zoals thomas zei) die je moet overtypen is erg handig tegen automatische bots.
...ik denk dat ik een tijdelijk truukje weet: ik laat de feedback.php naar een nieuwe pagina openen en tegelijk het formulier sluiten...

Zo weet ik zeker dat handmatig het teveel werk wordt om te kloten...
Bienze, hoe zit dat met die cach limit? En hoe werkt dat, weet jij ergens een skrippie?
...tja en f5 en refreshen, das kut, krijg ik er idd een miljoen binnen ;)
* Dat truukje van jou is misschien een oplossing, maar this zeker niet de beste oplossing :P


Dit zou denk ik wel moeten werken voor de cash limit:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

Dat kan je gewoon in de head sectie van de site plaatsen...

deze structuur kan je aanhouden voor het 'F5-en'.

formulier.php -> formulier_verwerk.php

en dan op formulier_verwerk.php zo'n soort code:
header("Location: formulier_na_verwerk.php");

De pagina gaat dan dus naar: formulier_na_verwerk.php, en bij F5 word niet opnieuw alle post (of get) vars mee gestuurd (want die gaan naar 'formulier_verwerk.php'), en word het formulier dus ook niet meer dubbel verwerkt.
Als het ip-adres vals is (wat peter in een eerdere post zei) denk ik niet dat de oplossingen behalve de 'random overtyp code' enig effect zullen hebben, aangezien je dan zeer waarschijnlijk met een bot te maken hebt.
Dan moet je toch met iets van verificatie gaan werken met gd ofzow!

Reageren