miem
Gebruiker
- Lid geworden
- 24 feb 2002
- Berichten
- 797
Ik heb een formulier op een website en daar komt spam op binnen. Ik heb gelezen dat je een timestamp kan gebruiken en een hidden input veld dat je een normale naam geeft, maar dat niet ingevuld moet worden in je formulier kunt stoppen en daarop checker of een spamrobot het formulier invult.
Nu ben ik maar een knip en plak phper en ik kom er niet uit hoe ik deze twee beveiliginen zou kunnen inbouwen. Is er iemand die me op weg kan helpen?
Dit is ongeveer het formulier dat ik nu gebruik:
Nu ben ik maar een knip en plak phper en ik kom er niet uit hoe ik deze twee beveiliginen zou kunnen inbouwen. Is er iemand die me op weg kan helpen?
Dit is ongeveer het formulier dat ik nu gebruik:
PHP:
<?php
@mysql_connect($MySQLHost, $MySQLGebruikersnaam, $MySQLWachtwoord) or die("Er kon geen verbinding worden gemaakt met de MySQL database.");
@mysql_select_db($MySQLDatabaseNaam) or die("De database kon niet geselecteerd worden!");
?>
<?php
function getip()
{
if(@$_SERVER['HTTP_X_FORWARDED_FOR'])
{
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(@$_SERVER['HTTP_CLIENT_IP'])
{
return $_SERVER['HTTP_CLIENT_IP'];
}
else
{
return $_SERVER['REMOTE_ADDR'];
}
}
function stripslashes_deep($value) {
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value;
$_POST = array_map('stripslashes_deep', $_POST);
}
$ipadres = getip();
// Einde functie om het e-mail adres te controleren
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['voornaam'])) {
echo "<p class=\"bold roze\">U heeft geen voornaam ingevuld.</p>";
}
if(empty($_POST['achternaam'])) {
echo "<p class=\"bold roze\">U heeft geen achternaam ingevuld.</p>";
}
if(empty($_POST['email'])) {
echo("<p class=\"bold roze\">Het e-mail adres is ongeldig!</p>");
}
else {
$datum = date("d.m.Y H:i");
$ipadres = getip();
$voornaam = stripslashes_deep($_POST['voornaam']);
$achternaam= stripslashes_deep($_POST['achternaam']);
$email= stripslashes_deep($_POST['email']);
$email = trim($email);
mysql_query("INSERT INTO $DatabaseTabel VALUES ('id',
'".$voornaam."',
'".$achternaam."',
'".$email."',
'".$ipadres."',
'".$datum."')");
$headers = "From: $voornaam $achternaam <$email>\n"; //afzender
$headers .= "Bcc: mij@email.nl\r\n";
mail("$email","Bevestiging inschrijving","Beste $voornaam $achternaam,\n\nU heeft zich aangemeld.\n\nMet vriendelijke groet,\nMijn naam", $headers);
echo "<script language=\"javascript\" type=\"text/javascript\">window.location='inschrijf_bedankt.php'</script>\n";
}
}
?>
<h1>Inschrijf formulier</h1>
<p><span class="roze">*</span> = verplicht veld</p>
<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<p>Voornaam<span class="roze">*</span>:<br />
<input name="voornaam" type="text" /></p>
<p>Achternaam<span class="roze">*</span>:<br />
<input name="achternaam" type="text" /></p>
<p>E-mail adres<span class="roze">*</span>:<br />
<input type="text" name="email" /></p>
<p><input type="submit" name="actie" value="Verstuur" class="button" /></p>
</form>
Laatst bewerkt: