Undgå spam i gæstebog
jeg har en gæstebog på www.weevil.dkhvis i kigger i den kan i se at jeg har en million poster med spam? det er sku ret ufedt! Det er en meget simpel gæstebog, indtil videre men hvordan kan jeg (skrive noget kode) Der sætter en stopper for disse spambots der automatisk fylder min gæstebog med lort?
her er koden for min gæstebog:
#
# Antallet af poster i gæstebogen tælles
#
$alfa = "SELECT COUNT(*) FROM guestbook_1";
$numguests = mysql_query($alfa) or die (mysql_error());
$number = mysql_fetch_array($numguests);
$num = $number[0];
#
# Formularen til at skrive i gæstebogen. Navn, email, www og besked registreres.
#
if (isset($skriv)) {
echo "<br>Your Comment!<br>";
echo "<form action=$PHP_SELF?start=0&send=1 method=post>";
echo "<table border=0 cellpadding=5 cellspacing=0>";
echo "<tr><td align=right><strong>Name:</strong></td><td><input type=text name=navn size=30 maxsize=100 class=textarea></td></tr>";
echo "<tr><td align=right><strong>Email:</strong></td><td><input type=text name=email size=30 maxsize=100 class=textarea></td></tr>";
echo "<tr><td align=right valign=top><strong>Comment:</strong></td><td><textarea cols=30 rows=6 name=tekst class=textarea></textarea></td></tr>";
echo "<tr><td></td><td><input type=submit value=Ok! class=textarea></td></tr>";
echo "</table>";
echo "</form>"; }
#
# Den nye post i gæstebogen sendes til gæstebogen
#
if (isset($send)) {
$sql = "insert into guestbook_1(navn,email,besked,dato) values('$navn','$email','$tekst',now())";
@mysql_query($sql) or die (mysql_error()); }
#
# Nu hentes posterne ud fra gæstebogen. De formateres med linieskift, e-mail til xyz_xx_@_xx_xyz.com og hyperlinks udformes.
#
?>
<?php
#
# Links til næste side og ny kommentar.
#
echo "<a href=$PHP_SELF?start=0&skriv=1>Your Comment</a> : ";
echo "<a href=\"$PHP_SELF?start=$naeste_start_nr\">Next page</a> : ";
echo "<a href=login.php?side=login>login</a>";
?>
<table id=table>
<tr>
<td>
<?php
$antal = 10;
if(!$start || $start < 0) { $start = 0; }
$resultat = mysql_query("SELECT navn, email, besked, date_format(dato, '%e/%c %Y') AS tiden FROM guestbook_1 ORDER BY dato desc LIMIT $start, $antal") or die (mysql_error());
while ($raekke = mysql_fetch_array($resultat)) {
$besked = nl2br($raekke[besked]);
$at = '_xx_@_xx_';
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a target=_blank href=\"\\0\">\\0</a>", $besked);
$mail = ereg_replace('@', $at, $raekke[email]);
echo "<table><tr><td id=td1>Date: $raekke[tiden] Mail: <a href=mailto:$mail> : $raekke[navn]</a>
</td></tr><tr><td id=td2><br>$text</td></tr></table>";
echo "<br>";
}
?>
</td>
</tr>
</table>
</body>
