Matthias: Spam im Gästebuch

Hallo,

habe seit ein paar Wochen Porbleme mit Spam im Gästebuch.
Wäre erfreut über einen Tipp (evtl. auch Quelltext) um das Gästebuch spamfester zu machen.
Möchte dabei jedoch nicht auf Cookies oder Java zurückgreifen.

Danke
Matthias

Hier die jetztige Quelle:

<?php require("template.php"); ?>
<html>
<head>
<?php style(); ?>
<title>Guest Book</title>
</head>
<body bgcolor="#FFFF99">
<center>
<br>
<br>
<br>
<br>
<br>
<br>
<font color="#000000" size="+4">Gästebuch</font>
<br>
<br>
<font color="#000000" size="+0">
<form action="guest.php" method="POST">
<table border="0">
<tr><td>Name:</td><td> <input type="text" name="name" size="20" maxlength="40"></td></tr>
<tr><td>Email:</td><td> <input type="text" name="email" size="20" maxlength="40"></td></tr>
<tr><td valign="top">Kommentar:</td><td>
<textarea cols="25" rows="4" name="comments"></textarea>
</td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Eintragen"></td></tr>
</table>
</form>
<br>
<br><a href="list.php">Einträge ansehen</a>
<br><br>
<?PHP
require("config.php");
if(isset($_POST['submit'])){
//
// Make sure required fields are filled out
//
if((!$_POST['name']) || (!$_POST['comments'])) {
echo "Sie müssen mindestens einen Namen und einen Kommentar hinterlassen!";
exit;
}

// Run MYSQL Query to insert into database
$zeit= date("d")."/".date("M")."/".date("y");

// Connect to the mysql database @ to minimize errors
$connection = @mysql_connect($ip, $user, $pass) or die(mysql_error());
$db = @mysql_select_db($database, $connection) or die(mysql_error());
// Construct the mysql statement...
$sql = "INSERT INTO guestbook (id, name, email, comments, zeit) VALUES ('','$_POST[name]', '$_POST[email]', '$_POST[comments]', '$zeit')";
// Execute our query...
$result = @mysql_query($sql, $connection) or die(mysql_error());
echo "<br>Eintrag war erfolreich!</font></center></body></html>";
}
?>

  1. Hallo,

    habe seit ein paar Wochen Porbleme mit Spam im Gästebuch.
    Wäre erfreut über einen Tipp (evtl. auch Quelltext) um das Gästebuch spamfester zu machen.

    Was hat den deine Forumssuche ergeben?

    Grüße, Ulli

    1. Hi Ulli!

      Was hat den deine Forumssuche ergeben?

      *ROFL gute Frage!!

      @Matthias:

      Ich versuch dir trotzdem zu helfen.
      Vermeide es Links in Beiträgen zuzulassen oder wenn dann nur per [ und dann eine art Form-Tag wie link oder url. Ausreichend beschrieben in der Hilfe zum Forum hier. Was hier geht kann nicht so falsch sein ;)
      Oder nutze einen Grafik generierten Bestätigungscode den Mensch (nicht Robot) ablesen und eingeben muss.
      Hilft das?

      Gruß, Matze

      1. Lieber Matze,

        Oder nutze einen Grafik generierten Bestätigungscode den Mensch (nicht Robot) ablesen und eingeben muss.

        und dass das nicht so besonders barrierefrei ist, kann man hier vernachlässigen?

        Mein Tipp (auch im Archiv zu finden): Benutze eine Vorschau-Funktion, ohne die ein endgültiges Abschicken nicht angenommen wird. Das knackt kein Bot.

        Weitere Tipps wie leere Formularfelder, die auch leer bleiben sollten (ein Texthinweis für den Anwender ist tatsächlich barrierefreier als die Grafikbotschaft), finden sich gleich im selben Thread (ich suche den jetzt nicht heraus).

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        1. Hallo Freunde des gehobenen Forumsgenusses,

          Mein Tipp (auch im Archiv zu finden): Benutze eine Vorschau-Funktion, ohne die ein endgültiges Abschicken nicht angenommen wird. Das knackt kein Bot.

          Du meinst das knackt _noch_ kein Bot, Botschreiber sind nicht dumm, sie werden irgendwann Bots schreiben, die die Ergebnisseite analysieren und ein eventuelles weiteres Formular einfach absenden.

          Bots können praktisch jede technische Hürde umgehen, sie müssen aber auf jeden Fall ihren Inhalt abliefern, und genau an dieser Stelle kommen Bayesche Text-Filter ins Spiel.

          Gruß
          Alexander Brock

          1. Hallo!

            Bots können praktisch jede technische Hürde umgehen, sie müssen aber auf jeden Fall ihren Inhalt abliefern, und genau an dieser Stelle kommen Bayesche Text-Filter ins Spiel.

            Solange die Möglichkeit mit dem per CSS verstecktem Textfeld funktioniert, werde ich sicher keine Bayeschen Filter einbauen. Aber auf perspektive wird sich's wohl nicht verhindern lassen.

            Um so einen Filter von Grund auf zu entwickeln fehlt mir das grundsätzlich Know How. Gibts da schon zu empfehlende PHP Implementierungen?

            mfg
              frafu

            1. Hallo Freunde des gehobenen Forumsgenusses,

              Um so einen Filter von Grund auf zu entwickeln fehlt mir das grundsätzlich Know How. Gibts da schon zu empfehlende PHP Implementierungen?

              Ich habe das selbst mal implementiert: VTC, es gibt aber noch nicht allzuviel Dokumentation dazu.

              Gruß
              Alexander Brock

  2. Hi,

    $sql = "INSERT INTO guestbook (id, name, email, comments, zeit) VALUES ('','$_POST[name]', '$_POST[email]', '$_POST[comments]', '$zeit')";

    mmmhh... was passiert, wenn ich $name mit z. B. folgendem Inhalt fülle: cool's

    MySQL-Fehler?

    E7

  3. Hallo.

    Wäre erfreut über einen Tipp (evtl. auch Quelltext) um das Gästebuch spamfester zu machen.

    Lass dir den Eintrag per E-Mail zusenden, deinen eigenen Spam-Filter die Mistarbeit machen und veröffentliche den Gästebucheintrag dann selbst.
    MfG, at