PHP-TXT basierendes Gästebuch -> Suche Hilfe gegen Spambo

  • Guten Morgen,
    2004 wurde für meinen Bruder und andere Opfer eines Verkehrsunfalls eine Gedenkseite eingerichtet. Seit geraumer Zeit wird das Gästebuch durch einen Spambot zugemüllt, es tragen kaum noch Bekannte/Freunde ein, da sich die Spameinträge unerträglich häufen.
    Habe bereits die Zugangsdaten bekommen und ich kann die Einträge manuell entfernen, da ich aber in der Woche keine Möglichkeit habe das Internet zu nutzen, sammeln sich bis hin zum Wochenende ziemlich viele Einträge an :?
    Da ich mich mit PHP absolut nicht auskenne, konnte ich bis jetzt nichts gegen den Bot unternehmen. Ein Freund von mir hat bereits ein Captcha eingebaut, welches aber nicht geholfen hat.
    Würde mich sehr freuen, wenn mir jemand bei dem Problem helfen könnte.
    Vielleicht erklärt sich sogar jemand bereit, mal über den Code zu schauen und evtl. mehr Spamschutz einzubauen.
    Danke!
    spawn

    -> http://www.sparkz.de.vu/

  • danke schonmal für die antworten!
    wir werden sofort versuchen das captcha entsprechend zu ändern.
    hoffe mal, dass der spam dann endlich unterbunden wird...
    hat zufällig jemand einen guten code?

    grüße spawn

  • Hallo,
    naja irgendwie bekommen wir es nicht hin... :(
    irgendjemand hier, der sich die zeit nehmen würde, ein besseres captcha einzubauen?
    bei einem guten ergebnis würde ich auch die mühen bezahlen...

    viele grüße spawn

  • Eine andere Möglichkeit sind Sessions. Die Spambots nutzen die Formulare immer direkt aus, sprich es werden Daten per Post direkt an das Script geschickt. Erstellt man auf der Startseite (da gehen die Bots nicht mehr hin) eine Sessionvariable, kann man in dem Script, dass die Daten verarbeitet, prüfen, ob diese Variable gesetzt ist. Wenn nein, kein Eintrag möglich, wenn ja eintragen.

    phpfan

  • Danke für die Antworten, aber wie ich bereits erwähnt habe, kenne ich mich mit php absolut nicht aus und mein kumpel weiß auch nicht mehr weiter...
    wär nett wenn sich mal jemand den code anschauen und diesen evtl. überarbeiten könnte. ich weiß ja nicht wie lange das dauert, aber vielleicht ist das ja auch nur eine sache von 30 min.
    wäre demjenigen auf jeden fall sehr dankbar!

    viele grüße spawn

  • Diesen Teil an den Anfang deiner index.php der Homepage:

    Code
    <?
       session_start();
    
       if (!isset ($_SESSION['home_visited']))
         $_SESSION['home_visited'] = true;
    ?>


    Diesen Teil an den Anfang des Scriptes, dass die Daten aus dem Formular verarbeitet:

    Code
    <?
       session_start();
    
       if (!isset ($_SESSION['home_visited']))
          die ("Spambots haben keine Berechtigung");
    ?>


    phpfan

  • ich verstehe das mit der session überhaupt nicht.....was macht das denn jetzt anders??oder woher weiß der session das ich kein bot bin??? :?

  • Zitat von Anonymous

    ich verstehe das mit der session überhaupt nicht


    Macht nix, kannst das ja noch lernen: http://www.php.net/manual/de/features.sessions.php

    Die Sessionsvariable wird nur in der index.php der Homepage gesetzt. Ein Spambot findet aber das Formular, liest die Methode und Action aus und und sendet dann immer direkt an dieses Script die Daten. Mit anderen Worten, ein Bot geht nicht über die index.php der Homepage. Also kann man in dem Script mit Hilfe der Sessionvariable feststellen, ob das Script von der Homepage oder direkt aufgerufen wurde.

    Es macht immer Spaß, wenn man Grundlagen erklären darf. :cry:

    phpfan

  • hmm...entweder ich habe irgendwas falsch gemacht oder der bot konnte selbst das umgehen. :(

    @phpfan:
    könntest du dir vll mal den code meiner hp anschauen und den evtl verbessern?
    wär echt nett!
    falls ja dann schick einfach ne pn mit deiner email-adresse an mich.

    grüße spawn

  • Zitat

    entweder ich habe irgendwas falsch gemacht


    Da würde ich mal drauf tippen. Und nein, ich möchte nicht deine Quellcodes per Mail bekommen. Zeige, was du in der index.php der Homepage eingebaut hast und zeige das Script, dass die Formulardaten des GB's verarbeitet.

    phpfan

  • das gästebuch besteht aus einer book.php und einer verify.php, wobei die erste datei das komplette gästebuch generiert und die zweite das captcha. die einträge werden in einer txt-datei gespeichert.
    der code der book.php ist ziemlich lang, deshalb stelle ich nur einen ausschnitt hier rein.

    ...hoffe das kann euch irgendwie helfen!

    grüße spawn