Een klant van mij ontvangt erg veel spam.

Ik lees nu op internet dat je ipv recaptcha misschien beter een minimale invultijd in kan stellen.
Mensen hebben vaak wat langer nodig om een emailformulier in te vullen dan een bot.

Weet iemand misschien hoe ik dit in kan stellen?

Dit is overigens mijn php formulier welke ik gebruik om het emailformulier te laten verzenden:


<?php
if (!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['message'])) {
echo 'U heeft niet alle velden ingevuld!';
exit;
}

$naam = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

$tijd = time();
$datum = strftime('%d/%m/%y %H:%M', $tijd);
$ip = getenv('REMOTE_ADDR');
$message = $naam.' met het e-mailadres '.$email.' en het IP '.$ip.' stuurde op '.$datum.' het volgende bericht:
____________________________________
'.$message.'
------------------------------------';

mail('[email protected]', 'Bericht van website', $message, 'From: '.$email);

header('location:http://www.dongenculinair.com/bedankt.html';);
?>
Ik begrijp het principe wel maar weet niet hoe dit toe te passen.

moet ik iets toevoegen aan mijn huidige php beatdn die er voor zorgt dat het mailformulier werkt?

moet ik een apart php bestand maken en daarnaar verwijzen?

Dit is mijn huidig php bestand wat er voor zorgt dat de mail verzonden wordt.

Moet ik hier iets aan toevoegen?
Zo ja, wat en waar?


<?php
if (!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['message'])) {
echo 'U heeft niet alle velden ingevuld!';
exit;
}

$naam = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

$tijd = time();
$datum = strftime('%d/%m/%y %H:%M', $tijd);
$ip = getenv('REMOTE_ADDR');
$message = $naam.' met het e-mailadres '.$email.' en het IP '.$ip.' stuurde op '.$datum.' het volgende bericht:
____________________________________
'.$message.'
------------------------------------';

mail('[email protected]', 'Bericht van website', $message, 'From: '.$email);

header('location:http://www.dongenculinair.com/bedankt.html';);
?>

Na je veldvalidatie bovenaan je script kan je de cURL-controle naar de Google server sturen.
Ik wil in eerste instantie iedereen bedanken die mij probeert te helpen.
Maar ik ben een ABSOLUTE LEEK op het gebied van php.
Ik ga me daar zsm meer in verdiepen maar daar heb ik nu niets aan.

Op deze pagina van google staat wat uitleg waar ik (zoals eerder gezegd) GEEN BAL VAN SNAP.
https://developers.google.com/recaptcha/docs/verify

Ook deze zin ("Na je veldvalidatie bovenaan je script kan je de cURL-controle naar de Google server sturen.") die ongetwijfeld goed bedoeld is, had wat mij betreft net zo goed in het chinees kunnen zijn.

Waar kan ik de php code vinden die ik moet plaatsen?????
Zelf schrijven is voor mij natuurlijk geen optie.

Kan iemand anders mijn huidige php script aanpassen met de juiste code erin?
Ik begrijp dat ik in feite alles zelf zou moeten doen maar ik heb geen idee waar te beginnen.
Het is geen gemakzucht, ben al anderhalve dag bezig!
Ik zal vanavond eens wat proberen te bakken, eerst maar even thuiskomen ;-)

[size=xsmall]Toevoeging op 04/05/2017 09:58:26:[/size]

Heb je eigenlijk al een formulier in HTML?
Fijn dat het met die tutorial gelukt is. Ik raad wel aan om geen @'jes te gebruiken in je script, omdat je daarmee daarmee foutmeldingen weg kan moffelen. Gebruik daarom een mooi if-else structuur bij je mail-functie om te kijken of er wel of niet gemaild is vanuit PHP.
Zoals eerder gezegd ben ik een leek op het gebied van php en heb dus geen idee wat je hiermee bedoeld.

Ben blij dat het werkt en durf er niets meer aan te veranderen
Er staat voor de mail() functie nu een @, als je het script van Codexworld hebt gevolgd. En mocht de mail vanwege technische mankementen, of een fout in je mailfunctie niet verstuurd worden, dan krijgt de gebruiker gewoon onterecht een bericht over dat zijn mail verstuurd zal zijn.

Dus daarom is het raadzaam om met if-else te controleren of mail() goed werkt:


<?php // deze regel is alleen vanwege de kleuren in de codeblok!!!
if(mail($to,$subject,$htmlContent,$headers)){
        $succMsg = 'Your contact request have submitted successfully.';
} else {
	$errMsg = "Technical failure: Mail can't send by us. Please mail the webmaster at: [email protected]!";	
}
?>


Edit: Quote-fix!
Ok, veel plezier ermee!
En ik raad je aan om je toch eens te verdiepen in PHP, dan weet je in ieder geval wat er in je script gebeurt en hoe het werkt.

Reageren