kostenloser Webspace werbefrei: lima-city


counter mit reloadsperre

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    a************n

    naja ich such einen counter(script) der eine reloadsperre besizt

    mfg andre

    ps ja ich hab die forensuche bentuzt die hat abernichts ausgespuckt. und ich hab auch fast alle tuts durch die wollen bei mir alle nicht
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich würde versuchen, ein \"Seite Besucht\"-Tag im cookie/session zu speichern. Mit wenig Mühe kann man das noch umgehen, aber ist so der schnellste und einfachste Weg, würde ich sagen ;)

    Oder was meinst du?

    Beitrag geändert: 30.7.2008 11:51:08 von nerdinator
  4. Autor dieses Themas

    a************n

    kann ich nicht sagen da ich mich nicht mit session und cookies auskenne. auch wenn ich es iwie geschafft hab mir ein dauer login mit session zu basteln *stolz*
  5. man kann die IP speichern. Es gibt das 4 Varianten:
    Speiche die IP in einer MySQL, in einer Datei, Cookie, oder einer Session (hält nur 15 min, bzw. solange er online ist. Am Besten ist aber wohl ein Cookie.
    Sollte dann so ausehen:

    $counter_reload = $_COOKIE[\"counter_reload\"];  // lesen des Cookies
    
    if($counter_reload != true)   // Abfrage des Cookies ob bereits gesetzt
    {
    $counter++;                    // wenn nicht gesetzt, dann erhöhe den Counter um eins
    setcookie(\"counter_reload\",\"true\",time()+(3600*24));  // und setzt den Cookie
    
    }
    else  // wenn cookie bereits gesetzt, dann tue nichts
    {
    
    }
  6. o**s

    Mit Cookies kann man das aber sehr leicht umgehen, indem man sie bei sich eben kurz abschaltet...
    Da ist die IP-Adresse in einer Datenbank schon besser dran.
    Nebenfrage: Wenn ich die Seite über den Proxy unserer Firma besuchen würde, würde die IP meines Rechners oder die IP des Proxy gespeichert? Wie läuft das dann bei vielen Computern im Netz?
  7. Autor dieses Themas

    a************n

    wenn ich denn code von samson nehme wie geb ich den dann aus mit echo $counter; ??
  8. opus schrieb:
    Mit Cookies kann man das aber sehr leicht umgehen, indem man sie bei sich eben kurz abschaltet...
    Da ist die IP-Adresse in einer Datenbank schon besser dran.
    Nebenfrage: Wenn ich die Seite über den Proxy unserer Firma besuchen würde, würde die IP meines Rechners oder die IP des Proxy gespeichert? Wie läuft das dann bei vielen Computern im Netz?


    Die Ip des Proxy, denn die Rheinfolge ist ja:

    Dein PC -> Proxy -> Website

    Die website wird also vom Proxy geladen und dann dir geschickt, die Website merkt überhaupt nicht das der Proxy die Daten an dich weiterleitet.


    Ja vom Prinzip ist die Ip meistens sicherer, da die meisten Menschen eher ihre Cookies löschen als die IP zu ändern, bsp.: Ihren Router zwangstrennen und sich eine neue ip zuweisen lassen.

    Die sicherste Variante ist vom Prinzip IP und Cookies, allerdings ist die Speicherung der IP Adresse sehr leistungsaufwendig. Das würde ich nur bei einem geringen Besucheraufkommen machen. Aber ich glaube bei deiner Seite/Projekt ist es noch zu machen, das wäre dann in etwa so zu machen:

    $counter_reload = $_COOKIE[\"counter_reload\"];  // lesen des Cookies
    
    if($counter_reload != true)   // Abfrage des Cookies ob bereits gesetzt
    {
    
    setcookie(\"counter_reload\",\"true\",time()+(3600*24));  // und setzt den Cookie
    
    $ip = getenv(\"REMOTE_ADDR\"); // Speichern der IP in eine Variable
    
    $time= time();             // Speichert den aktuellen Time wert in eine Variable
    $time = $time - 86400;     // Versetzt den time wert um 24 h zurück
    $loeschen = \"DELETE FROM counter  // löscht alle alten Einträge
    WHERE time < \'$time_old\'\";
    $loesch = mysql_query($loeschen);
    
    
    
    $abfrage = \"SELECT * FROM counter WHERE ip = \'$ip\'\"; // Abfrage aus der Datenbank ob die IP    schon vorhanden ist
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
       {
       $counter_reload_ip = true;  // Wenn sie vorhanden ist wird in der variable true gespeichert
       }
    
    if($counter_reload_ip != true) // Wenn keine Übereinstimmung in der Datenbank vorlag wird der
    {
    $counter++;                    // Counter um eins erhöht
    
    $eintrag = \"INSERT INTO counter  // wenn kein Eintrag da war wird der Eintrag nach dem Erhöhen des COunters eingetragen
    (ip, time)                       // Ip und time 
    
    VALUES
    (\'$ip\', \'time()\')\";              // Übergabe der Parameter von time und der IP
    
    $eintragen = mysql_query($eintrag);
    
    
    }
    else                           // Wenn die IP bereits in der Datenbank gespeichert ist dann wird nichts getan
    {
    
    }
    
    
    }
    else  // wenn cookie bereits gesetzt, dann tue nichts
    {
    
    }





    Edit:



    andre-morillon schrieb:
    wenn ich denn code von samson nehme wie geb ich den dann aus mit echo $counter; ??


    Noch gar nicht, du musst auch den Counter Wert irgendwo speichern. An der stellewo bei mir $counter++ steht muss der normale Counter hin, ich habe nur den Reload Teil geschrieben.


    Beitrag geändert: 30.7.2008 12:22:36 von samson
  9. Autor dieses Themas

    a************n

    und wenn ich das richtig sehe muss ich noch ne verbindung zur mysql datenbank aufbauen??

  10. Mit Cookies kann man das aber sehr leicht umgehen, indem man sie bei sich eben kurz abschaltet...


    Die Frage ist immer: Wo soll es eingesetzt werden? Meiner meinung nach wird sowas für Besucherzähler, etc. verwendet. Wer macht sich nun die mühe, extra einen Besucherzähler zu umgehen? Was würde das für einen Sinn machen? Und die IP lässt sich ebenfalls einfach ändern/fälschen... (s.u.)

    Und das mit der IP ist ein wenig kompliziert. Denn bei Otto-Normal-Verbraucher ändert sich die IP mindestens täglich. D.h. dass es garnicht so unmöglich ist, 2 Leute mit der selben IP auf der Seite zu haben. Oder was ist, wenn mehrere über ein und den selben Anschluss/Proxy auf deine Seite gehen? Und umgehen lässt es sich auch einfach, durch ein einfaches reconnect ins Internet.

    Ich denke, so einen Aufwand zu betreiben, um einen Counter zu schützen, ist ziemlich unsinnig. Ein einfacher Counter ist meistens nicht den Aufwand wert, der für sowas betrieben werden müsste, um es \"halbwegs\" sicher zu machen.


  11. nerdinator schrieb:

    Mit Cookies kann man das aber sehr leicht umgehen, indem man sie bei sich eben kurz abschaltet...


    Die Frage ist immer: Wo soll es eingesetzt werden? Meiner meinung nach wird sowas für Besucherzähler, etc. verwendet. Wer macht sich nun die mühe, extra einen Besucherzähler zu umgehen? Was würde das für einen Sinn machen? Und die IP lässt sich ebenfalls einfach ändern/fälschen... (s.u.)

    Und das mit der IP ist ein wenig kompliziert. Denn bei Otto-Normal-Verbraucher ändert sich die IP mindestens täglich. D.h. dass es garnicht so unmöglich ist, 2 Leute mit der selben IP auf der Seite zu haben. Oder was ist, wenn mehrere über ein und den selben Anschluss/Proxy auf deine Seite gehen? Und umgehen lässt es sich auch einfach, durch ein einfaches reconnect ins Internet.

    Ich denke, so einen Aufwand zu betreiben, um einen Counter zu schützen, ist ziemlich unsinnig. Ein einfacher Counter ist meistens nicht den Aufwand wert, der für sowas betrieben werden müsste, um es \\\'halbwegs\\\' sicher zu machen.


    Dem stimme ich auch zu. Wer will schon ein Counter fälschen außer eventuell der Betreiber.
    Das einzigste was ich mal als Falsch bezeichnen würde ist:
    D.h. dass es garnicht so unmöglich ist, 2 Leute mit der selben IP auf der Seite zu haben.

    Naja gehen wir mal davon aus das die Seite 1000 User täglich hat, es gibt 4.294.967.296 Ip-Adressen, das macht eine Warscheinlichkeit von:
    4.294.968 zu 1. Da ist die Warscheinlichkeit vom Blitz getroffen zu werden ja höher....





    andre-morillon schrieb:
    und wenn ich das richtig sehe muss ich noch ne verbindung zur mysql datenbank aufbauen??


    Ja, du musst auch die Tabellen noch erstellen.
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!