Formulierscript + anti spam
Ik ben compleet nieuw met PHP ik heb op mijn site een pagina "contact.php".
Nu is het zo dat ik elke keer gespamd wordt, ik weet dat de pagina gescand wordt op e-mailadressen, want zodra ik het e-mailadres wijzig in het script, krijg ik op het nieuwe adres direct weer spam.
Ik weet dat er een manier is om dit via function writeadress aan te passen, maar ik weet niet hoe ik dit in mijn huidige script kan toepassen, kan iemand mij hiermee helpen.
--------------------------------------------------
gedeelte uit contact.php
--------------------------------------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
$naar = '[email protected]'; // Verander hier [email protected] naar uw eigen email adress.
if(isset($_POST['verzend'])) // Als het bericht verzonden is
{
if($_POST['naam'] == '') // Als het veld naam leeg is
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '') // Als het veld email leeg is.
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '') // Als er geen bericht is ingevuld.
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '') // Als er geen onderwerp is ingevuld
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"])) // Als het email adress niet klopt
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
// Mailen:
$bericht = "
<html>
<head>
<title>Contact Informatie</title>
</head>
<body>
<table border='0' width='50%'>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
<tr>
<td width='20%'>E-mail adres:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Het Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
// Headers, zodat we html kunnen gebruiken in de mail, en van wie de mail komt.
if(mail($naar, $_POST['onderwerp'],$bericht,$headers)) // Als de mail naar de maker is verstuurd
{
echo 'Uw bericht is succesvol verstuurd, u ontvangt zo spoedig mogelijk bericht van ons.';
}
else // Anders
{
echo 'Uw bericht is helaas niet verstuurd, probeer het nogmaals';
}
}
}
}
else
{
?>
$naar = '[email protected]'; // Verander hier [email protected] naar uw eigen email adress.
if(isset($_POST['verzend'])) // Als het bericht verzonden is
{
if($_POST['naam'] == '') // Als het veld naam leeg is
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '') // Als het veld email leeg is.
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '') // Als er geen bericht is ingevuld.
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '') // Als er geen onderwerp is ingevuld
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"])) // Als het email adress niet klopt
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
// Mailen:
$bericht = "
<html>
<head>
<title>Contact Informatie</title>
</head>
<body>
<table border='0' width='50%'>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
<tr>
<td width='20%'>E-mail adres:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Het Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
// Headers, zodat we html kunnen gebruiken in de mail, en van wie de mail komt.
if(mail($naar, $_POST['onderwerp'],$bericht,$headers)) // Als de mail naar de maker is verstuurd
{
echo 'Uw bericht is succesvol verstuurd, u ontvangt zo spoedig mogelijk bericht van ons.';
}
else // Anders
{
echo 'Uw bericht is helaas niet verstuurd, probeer het nogmaals';
}
}
}
}
else
{
?>
<!-- Formulier weergeven -->
<table width='80%' height="412" border='0'>
<form method='post'>
<tr>
<td width='100%' height="73" align='left'> <p class="style3">Informatie: </p></td>
</tr>
<tr>
<td width='20%'><span class="style5"><font size="1">Naam:*</font></span></td>
<td><input name='naam' type='text' class="style5" size="60" /></td>
</tr>
<tr>
<td width='20%'><span class="style5"><font size="1">E-mail adres:*</font></span></td>
<td><input name='email' type='text' class="style5" size="60" /></td>
</tr>
<tr>
<td width='20%'><span class="style5"><font size="1">Onderwerp</font></span></td>
<td><input name='onderwerp' type='text' class="style5" value="Informatie :" size="60" /></td>
</tr>
<tr>
<td width='20%'><span class="style5"><font size="1">Bericht:*</font></span></td>
<td><textarea name='bericht' cols="59" rows="15" class="style5">Typ hier uw vraag/opmerking of welke aanvullende
informatie u wenst te ontvangen.</textarea> </td>
</tr>
<tr>
<td colspan='2' align='center'>
<div align="right">
<input name='verzend' type='submit' class="style5" value='Verzend' />
</div></td></tr>
<tr>
<td colspan='2' align='left'><span class="style5"><font size="1">Velden met een * zijn verplicht</font></span></td>
</tr>
</form>
</table>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
--------------------------------------------------------
einde gedeelte uit script
--------------------------------------------------------
Ik hoop dat dit voldoende informatie is, en dat iemand mij uit de "SPAM" kan helpen.
--------------------------------------------------------
einde gedeelte uit script
--------------------------------------------------------
Ik hoop dat dit voldoende informatie is, en dat iemand mij uit de "SPAM" kan helpen.
Gewijzigd op 22/11/2005 14:48:00 door Eric
Hoe zit het met dit hulpforum, er zijn in totaal 0 reacties.
Cookie plaatsen na mailen, cookie uitlezen...