Hoe voeg ik een Captscha toe aan een formulier

Status
Niet open voor verdere reacties.

afarensis

Verenigingslid
Lid geworden
12 jul 2011
Berichten
607
Besturingssysteem
Windows 11
Office versie
365
Omdat het een combinatie is van HTML en PHP, plaats ik het maar in de deze algemene groep. Ik hoor wel als ik deze vraag beter ergens anders kan voorleggen... Ik werk overigens wel met Dreamweaver.

Ik heb op de website (van mijn schoonzoon) http://www.excluservice.nl/contactformulier/contactformulier.html een 'standaard' formulier geplaatst die op zich goed werkt, maar het lijkt mij verstandig om hier een 'eenvoudige' captcha aan toe te voegen. Ik heb natuurlijk wat gegoogled, maar ik kom er toch niet uit, mede omdat ik een amateurtje ben, die wel iets van HTML weet, maar heel weining van PHP. Ik heb het formulier dan ook met veel moeite, informeren en 'kopieren' in elkaar gefrobeld.

Vraag is: zou iemand de moeite willen nemen om uit te leggen hoe ik het ontbrekende stukje code (of wellicht hoe een nieuw, bijv. captscha.php bestand te maken) toe kan voegen?
Zoals gezegd, ik weet weinig van PHP, dus maak het alsjeblieft niet te moeilijk.

Hier het stukje php (formulierverzenden.php), wellicht kan de html even via de 'bron' bekeken worden?, anders wordt het zo'n lap tekst...
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulier verzenden</title>
</head>

<?php
$naar = 'info@excluservice.nl'; // Waar moet het naartoe?
$onderwerp = 'Onderwerp'; // Het onderwerp van het bericht
 
// Header instellen, zodat nl2br() werkt
$headers = "MIME-version: 1.0\r\n"; 
$headers .= "content-type: text/html;charset=utf-8\r\n";
 
if(isset($_POST['versturen'])) // Als het formulier verzonden is door op de verzenden knop te klikken
{
	$naam = trim($_POST['naam']); // Alle overbodige spaties uit het voornaam veld verwijderen
	$adres = trim($_POST['adres']); // Alle overbodige spaties uit het achternaam veld verwijderen
	$postcode = trim($_POST['postcode']); // Alle overbodige spaties uit het achternaam veld verwijderen	
	$telefoonnummer = trim($_POST['telefoonnummer']); // Alle overbodige spaties uit het achternaam veld verwijderen		
	$woonplaats = trim($_POST['woonplaats']); // Alle overbodige spaties uit het achternaam veld verwijderen	
	$email = trim($_POST['email']); // Alle overbodige spaties uit het bericht veld verwijderen	
	$kenteken = trim($_POST['kenteken']); // Alle overbodige spaties uit het bericht veld verwijderen 	
	$bericht = trim($_POST['bericht']); // Alle overbodige spaties uit het bericht veld verwijderen
	$fout = false; // Om te kijken straks of er wat fout is
 
	if(empty($naam)) 
	{
		print '<p>Helaas, invullen naam is verplicht!</p>';
		$fout = true; // Wordt ook al afgevangen door formulier zelf. vanaf windows 7 (rode kader)
	}
	if(empty($adres)) 
	{
		print '<p>Helaas, invullen adres is verplicht!</p>';
		$fout = true; // Wordt ook al afgevangen door formulier zelf. vanaf windows 7 (rode kader)
	}
	if(empty($telefoonnummer)) 
	{
		print '<p>Helaas, invullen telefoon-nummer is verplicht!</p>';
		$fout = true; // Wordt ook al afgevangen door formulier zelf. vanaf windows 7 (rode kader)
	}
    if(empty($bericht)) 
	{
		print '<p>Helaas, het bericht veld invullen is verplicht!</p>';
		$fout = true; // Wordt ook al afgevangen door formulier zelf. vanaf windows 7 (rode kader)
	}
	if($fout == false) // Als er geen fouten zijn en alles netjes ingevuld is
	{
		$headers .= 'From: ' . $naam . ' | ' . $adres . ' | ' . $telefoonnummer . ' | ' . $kenteken . ' | ' . $postcode . ' ' . $woonplaats . '<' . $email . '>' ; // Dit komt in het 'Van' veld te staan
 
		if(mail($naar, $onderwerp, nl2br($bericht), $headers))
		{
			print '<p>Het bericht is succesvol verzonden! Wij zullen zo spoedig mogelijk reageren...</p>';
		}
		else
		{
			print '<p>Helaas, er is wat fout gegaan tijdens het verzenden van het formulier.</p>';
		}
	}
}
?>
 
</body>
</html>
 
Laatst bewerkt door een moderator:
Kijk eens of je HIER verder mee komt. (Betaald)
Of DEZE. (Gratis)

En HIER nog veel meer anderen.

Groeten Marcel
 
Laatst bewerkt:
Bedankt voor je reactie Marcel....

Oei, het is toch een stuk ingewilkkelder dan ik dacht; een stukje code toevoegen en klaar, maar dat blijkt toch wat te simpel gedacht te zijn. Ik had al in DW gekeken of er een optie bestaat om een captcha in te voegen, maar dat kan alleen met het extra, ik meen zelfs, betaalde pakket, 'Business catalyst', moeilijk, moeilijk..

Bedankt voor je animatie/hint (leuk bedacht) om in Google te zoeken, maar dat had ik zelf toch al gedaan hoor; vandaar mijn vraag of het allemaal niet wat simpeler kan. Maar dat blijkt dus niet zo te zijn. Ik ga nog eens goed snuffelen, maar misschien laat ik het maar gewoon zo. De kans is denk ik niet zo groot, dat een simpele garagesite gehacked wordt.
 
Laatst bewerkt:
Een captcha is vooral bedoeld om te voorkomen dat het formulier door zgn robots wordt ingevuld en verstuurd.
Een captcha is niet ter voorkoming van het hacken van je website.

Captcha's worden gebruikt om te voorkomen dat bots diverse online-diensten gebruiken. Captcha's verhinderen automatische deelname van bots aan online-opiniepeilingen en automatische inschrijving voor gratis e-mailboxen (die dan kunnen worden gebruikt om spam te verzenden), en voorkomen dat bots spam versturen door de (niet herkende) afzender een captchatest te laten afleggen alvorens het e-mailbericht te verzenden.

De eenvoudigste captcha's kunnen ondertussen door computers ingelezen worden.[1] Bij de meeste websites houdt dit de stroom van spamberichten tegen doordat de kostprijs van het ontcijferen van de captcha niet opweegt tegen de voordelen van het spambericht. Bij websites als Google, Hotmail en Yahoo is een mailaccount voor spammers heel wat waard,[2] en daarom gebruiken die diensten ingewikkelde captcha's om de aanmaak van spamaccounts tegen te gaan.

Wanneer het ontcijferen van de captcha niet meer loont kan men andere tactieken gebruiken om de test te omzeilen. Op sommige websites worden captcha's bijvoorbeeld bij de inschrijvingsprocedure gebruikt, om te voorkomen dat spammers automatisch grote aantallen accounts aanmaken. Spammers hebben echter een manier gevonden om deze beveiliging te omzeilen: een door de spammer beheerde site, bijvoorbeeld een pornosite, toont de captcha aan een bezoeker, alsof de oplossing daarvan voor de toegang van die site noodzakelijk is, en maakt gebruik van zijn oplossing om een account aan te maken.

Groeten Marcel
 
Bedankt voor je aanvullende informatie...

Voor mij moeilijk in te schatten hoe groot de kans is dat het door robots wordt ingevuld...
Wat het voor mij extra lastig maakt is dat ik al een goed werkende formulier heb, terwijl bijna alles wat je vindt een combinatie is van een form en een captcha. Ik zie wel....
 
Ik zou het gewoon zonder captcha proberen en afwachten hoe het gaat.

Groeten Marcel
 
Zat me toch niet lekker; wilde er toch proberen uit te komen....
Op Nationaalcomputerforum vraag neergelegd, en daar hebben ze mij kunnen helpen. Inmiddels Captcha geplaatst.

Nogmaals dan voor de hulp.....
 
Top voor je :thumb:
Misschien handig als je een link plaatst naar je topic op het Nationaalcomputerforum zodat we er op Helpmij ook iets aan hebben.

Groeten Marcel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan