Cookie Prob - Web Nein / Local Ja

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cookie Prob - Web Nein / Local Ja

    Nabend nochmal,

    ich habe mein Gästebuch jetzt soweit fertig. Ich habe eine Variante eingebaut, das nach einem Eintrag ein Cookie gesetzt wird, der nach 5 min verfällt, um spam zu verhindern.

    Jetzt habe ich das Problem, das auf meinem Apachen alles ohne fehler läuft, auf meinem Webspace aber nicht.

    Folgender fehler:
    Warning: Cannot modify header information - headers already sent by
    (output started at /mnt/web6/20/86/51648986/htdocs/projects/chickystyle/config.php:8) in
    /mnt/web6/20/86/51648986/htdocs/projects/chickystyle/class/class_gbook.php on line 87
    Auf dem Webspace ist die Version PHP 4.4.8. Bevor wieder alle schreien, ich weis Prinzipiell schon was der Fehler bedeutet. Allerdings versehe ich nicht wieso er einmal auftaucht und auf meinem Apache nicht.

    Hier ist der Code aus dem besagten Bereicht. Zeilen 83 - 92
    PHP-Code:
                            $page 'http://'."$page";
                            
    $sql "INSERT INTO `gbook` (content, bname, email, ip, homepage) 
    VALUES ('
    $content', '$bname', '$email', '$ip', '$page')";
                            
    $query mysql_query($sql) or DIE (mysql_error());
                            if (
    $query) {
                                
    setcookie("chickystyle""gueltigkeit"time()+300);
                                echo 
    "Danke für den Eintrag!<br>\n";
                                echo 
    "<a href='$url'>Zurück zum Gästebuch</a>";                                
                            } else {
                                echo 
    "Eintrag schlug fehl!";
                            } 
    Die Zeile wo gemeckert wird ist natürlich die mit setcookie aber wie kann ich das denn anders machen und warum meckert der?

    schönen abend noch
    christoph

  • #2
    Dann ist vor setcookie eine ausgabe gemacht worden.

    PS: Ein Spamschutz mit Cookies ist aber nicht grade wirksam

    Kommentar


    • #3
      Re: Cookie Prob - Web Nein / Local Ja

      Und was steht hier: /mnt/web6/20/86/51648986/htdocs/projects/chickystyle/config.php:8?
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Allerdings versehe ich nicht wieso er einmal auftaucht und auf meinem Apache nicht.
        Das hängt von der Konfiguration ab ob er auftaucht oder quasi verschluckt wird.

        Kommentar


        • #5
          wie $_Baker schon sagte ist ein Spamschutz via Cookies nicht sehr hilfreich. Viele Leute akzeptieren von vornhinein keine Cookies von Seiten, wo sie nur etwas in ein Gästebuch schreiben.

          Ich würde da viel eher über die IP des Clients gehen, die ist einfacher zu ermitteln und der Spamer müsste sich für jeden Eintrag eine neue IP besorgen, was weit aufwendiger ist, als Cookies nicht zu akzeptieren
          signed oder unsigned... das ist hier die Frage

          Kommentar


          • #6
            das mit der ip hatte ich vorher als variante überlegt. Wie kann ich es aber machen das die ip nur für 5 min gesperrt ist?

            Und was steht hier: /mnt/web6/20/86/51648986/htdocs/projects/chickystyle/config.php:8?
            Das ist nur die config datei, die die verbindung zur DB aufbaut. also keine ausgabe.

            Für bessere Möglichkeiten das Spamschutzes wie z.b. via ip wäre ich auch dankbar.

            melde mich morgen dann wieder. hab durch fussball heut keine zeit mehr

            Kommentar


            • #7
              Das ist nur die config datei, die die verbindung zur DB aufbaut. also keine ausgabe.
              PHP lügt also, wenn es behauptet, daß da eine Ausgabe stattfindet?

              Kommentar


              • #8
                Original geschrieben von nevermind
                Das ist nur die config datei, die die verbindung zur DB aufbaut. also keine ausgabe.
                Definitiv ist da eine Ausgabe! Vielleicht keine gewollte, aber es ist eine dort.
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  Original geschrieben von nevermind
                  das mit der ip hatte ich vorher als variante überlegt. Wie kann ich es aber machen das die ip nur für 5 min gesperrt ist?
                  Erwähntest du nicht weiter unten, dass du eine DB hast?

                  Ich würde die IPs wohl zusammen mit dem aktuellen Timestamp in die DB schreiben und dann beim nächsten Post schauen ob die IP noch gesperrt ist. Die zu entsperrenden können dabei dann auch gelöscht werden.

                  Oder du loggst die IPs bei jedem Post mit und schaust ob in den letzten 5 Minuten ein Post von dieser IP gemacht wurde.



                  Original geschrieben von nevermind

                  Das ist nur die config datei, die die verbindung zur DB aufbaut. also keine ausgabe.

                  Für bessere Möglichkeiten das Spamschutzes wie z.b. via ip wäre ich auch dankbar.
                  Lies dir ersteinmal das hier durch und schau dann mal, ob es böse leerzeichen in der Datei gibt.

                  Gruß
                  case
                  signed oder unsigned... das ist hier die Frage

                  Kommentar


                  • #10
                    damn it ... ihr hattet mal wieder recht. Mir fällt grad ein, ich hatte in der Config auf dem Webspace noch eine "IF" abfrage, das wenn die Verbindung steht auch der Text "Verbindung hergestellt" ausgegeben wird.

                    Das kommt davon, wenn man nicht simultan auf Localhost und Webspace arbeitet

                    denke mal damit hat sich das Thema erledigt. Werde das mit der IP aber dennoch in angrif nehmen. Dürfte ja auch nicht so schwer sein.

                    Kommentar

                    Lädt...
                    X