Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Counter

  1. #1
    marko
    Gast

    Standard Counter

    Servus ich hab ein Counter und möchte gerne 2 Ip sperren also das sie nicht mehr mitgezählt werden!!!
    hier der fertige Counter:
    ___________________________________________

    [php:1:a34974dbae]
    <?php
    $datei = "counter.txt";

    $file = fopen($datei, "r");
    $stand = fread($file, filesize($datei));
    $stand = $stand+1;
    fclose($file);


    function ipcheck($client_ip)
    {
    switch(func_num_args())
    {
    case 4: $operating_dir=func_get_arg(3);
    case 3: $max_timediff=func_get_arg(2);
    case 2: $log_ip=func_get_arg(1);break;
    default: $operating_dir=""; $max_timediff="3600"; $log_ip=true;
    }
    switch(func_num_args())
    {
    case 2: $max_timediff="3600";
    case 3: $operating_dir="";break;
    }

    $file=$operating_dir . "ip.txt";
    $seenbefore=false;

    $lines=file($file);
    for($i=0;$i<count($lines);$i++)
    {
    $ip_chunks=explode("-",$lines[$i]);
    $timediff=time()-$ip_chunks[1];
    if($timediff>$max_timediff) $lines[$i]="";
    elseif($ip_chunks[0]==$client_ip) $seenbefore=true;
    }

    $handle = fopen($file,"w+");
    if ($handle)
    {
    for($i=0;$i<count($lines);$i++) fputs($handle, $lines[$i]);
    if(!$seenbefore && $log_ip) fputs($handle, $client_ip . "-" . time() . "\n");
    fclose($handle);
    }
    return($seenbefore);
    }

    if(!ipcheck($REMOTE_ADDR))
    {
    $file = fopen($datei, "w");
    fputs($file, $stand);
    fclose($file);
    }
    ?>
    Sie sind der <?php echo $stand; ?>. Besucher[/php:1:a34974dbae]
    ___________________________________


    Hoffe ihr könnts ma helfen!!
    mfg marko
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi erstmal, wiso machst du das ganze eigentlich nicht in einer Datenbank??

    Und hier die Antwort.
    Code:
    <?php
    
    $datei = "counter.txt";
    
    $gesperrte_ips=array&#40;"192.168.0.1", "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6"&#41;;
    
    
    $file = fopen&#40;$datei, "r"&#41;;
    $stand = fread&#40;$file, filesize&#40;$datei&#41;&#41;;
    $stand = $stand+1;
    fclose&#40;$file&#41;;
    
    
    function ipcheck&#40;$client_ip&#41;
    &#123;
    switch&#40;func_num_args&#40;&#41;&#41;
    &#123;
    case 4&#58; $operating_dir=func_get_arg&#40;3&#41;;
    case 3&#58; $max_timediff=func_get_arg&#40;2&#41;;
    case 2&#58; $log_ip=func_get_arg&#40;1&#41;;break;
    default&#58; $operating_dir=""; $max_timediff="3600"; $log_ip=true;
    &#125;
    switch&#40;func_num_args&#40;&#41;&#41;
    &#123;
    case 2&#58; $max_timediff="3600";
    case 3&#58; $operating_dir="";break;
    &#125;
    
    $file=$operating_dir . "ip.txt";
    $seenbefore=false;
    
    $lines=file&#40;$file&#41;;
    for&#40;$i=0;$i<count&#40;$lines&#41;;$i++&#41;
    &#123;
    $ip_chunks=explode&#40;"-",$lines&#91;$i&#93;&#41;;
    $timediff=time&#40;&#41;-$ip_chunks&#91;1&#93;;
    if&#40;$timediff>$max_timediff&#41; $lines&#91;$i&#93;="";
    elseif&#40;$ip_chunks&#91;0&#93;==$client_ip&#41; $seenbefore=true;
    &#125;
    
    foreach&#40;$gesperrte_ips AS $gesperrte_ip&#41;
    &#123;
    if &#40;$client_ip==$gesperrte_ip&#41; $seenbefore=true
    &#125;
    
    $handle = fopen&#40;$file,"w+"&#41;;
    if &#40;$handle&#41;
    &#123;
    for&#40;$i=0;$i<count&#40;$lines&#41;;$i++&#41; fputs&#40;$handle, $lines&#91;$i&#93;&#41;;
    if&#40;!$seenbefore && $log_ip&#41; fputs&#40;$handle, $client_ip . "-" . time&#40;&#41; . "\n"&#41;;
    fclose&#40;$handle&#41;;
    &#125;
    return&#40;$seenbefore&#41;;
    &#125;
    
    if&#40;!ipcheck&#40;$REMOTE_ADDR&#41;&#41;
    &#123;
    $file = fopen&#40;$datei, "w"&#41;;
    fputs&#40;$file, $stand&#41;;
    fclose&#40;$file&#41;;
    &#125;
    ?>
    Sie sind der <?php echo $stand; ?>. Besucher

  3. #3
    marko
    Gast

    Standard

    Code:
    $gesperrte_ips=array&#40;"192.168.0.1", "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6"&#41;;

    Hier schreib ich dann die gesperrten ips rein ?
    wow super danke hast mir sehr geholfen !!=)

    datenbank bringt sich ja erst dann wenn ich viel mehr benützer hab und ich denk ma das tuts auch !


    lg; marko

  4. #4
    marko
    Gast

    Standard

    Da geht was nicht er schreibt mir:

    Parse error: parse error, unexpected '}' in /home/www/ww8200/html/index.php on line 44


    an was kann das liegen??


    Lg; marko

  5. #5
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    HOPLA da hat doch glatt ein semikolon gefehlt (-;

    Code:
    <?php
    
    $datei = "counter.txt";
    
    $gesperrte_ips=array&#40;"192.168.0.1", "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6"&#41;;
    
    
    $file = fopen&#40;$datei, "r"&#41;;
    $stand = fread&#40;$file, filesize&#40;$datei&#41;&#41;;
    $stand = $stand+1;
    fclose&#40;$file&#41;;
    
    
    function ipcheck&#40;$client_ip&#41;
    &#123;
    switch&#40;func_num_args&#40;&#41;&#41;
    &#123;
    case 4&#58; $operating_dir=func_get_arg&#40;3&#41;;
    case 3&#58; $max_timediff=func_get_arg&#40;2&#41;;
    case 2&#58; $log_ip=func_get_arg&#40;1&#41;;break;
    default&#58; $operating_dir=""; $max_timediff="3600"; $log_ip=true;
    &#125;
    switch&#40;func_num_args&#40;&#41;&#41;
    &#123;
    case 2&#58; $max_timediff="3600";
    case 3&#58; $operating_dir="";break;
    &#125;
    
    $file=$operating_dir . "ip.txt";
    $seenbefore=false;
    
    $lines=file&#40;$file&#41;;
    for&#40;$i=0;$i<count&#40;$lines&#41;;$i++&#41;
    &#123;
    $ip_chunks=explode&#40;"-",$lines&#91;$i&#93;&#41;;
    $timediff=time&#40;&#41;-$ip_chunks&#91;1&#93;;
    if&#40;$timediff>$max_timediff&#41; $lines&#91;$i&#93;="";
    elseif&#40;$ip_chunks&#91;0&#93;==$client_ip&#41; $seenbefore=true;
    &#125;
    
    foreach&#40;$gesperrte_ips AS $gesperrte_ip&#41;
    &#123;
    if &#40;$client_ip==$gesperrte_ip&#41; &#123; $seenbefore=true; &#125;
    &#125;
    
    $handle = fopen&#40;$file,"w+"&#41;;
    if &#40;$handle&#41;
    &#123;
    for&#40;$i=0;$i<count&#40;$lines&#41;;$i++&#41; fputs&#40;$handle, $lines&#91;$i&#93;&#41;;
    if&#40;!$seenbefore && $log_ip&#41; fputs&#40;$handle, $client_ip . "-" . time&#40;&#41; . "\n"&#41;;
    fclose&#40;$handle&#41;;
    &#125;
    return&#40;$seenbefore&#41;;
    &#125;
    
    if&#40;!ipcheck&#40;$REMOTE_ADDR&#41;&#41;
    &#123;
    $file = fopen&#40;$datei, "w"&#41;;
    fputs&#40;$file, $stand&#41;;
    fclose&#40;$file&#41;;
    &#125;
    ?>
    Sie sind der <?php echo $stand; ?>. Besucher

  6. #6
    marko
    Gast

    Standard

    Danke ; denk jetzt gehts

    mfg marko

  7. #7
    marko
    Gast

    Standard

    Hab das jetzt nochmal ausprobiert und hab mir die ips angeschaut aber es geht noch immer nicht; in der Ip.txt datei steht noch immer die Ip drinnen??

    mfg marko

  8. #8
    Gast
    Gast

    Standard

    Mit diesem Script wirst du auf dauer Probleme bekommen,
    denn du verlaesst dich darauf, dass REGISTER_GLOBALS aktiviert ist,
    was aber bei allen neueren PHP-Version als Standard deaktiviert ist,
    da es enorme Sicherheitsprobleme birgt.

    Code:
    if&#40;!ipcheck&#40;$REMOTE_ADDR&#41;&#41;
    &#123;
    $file = fopen&#40;$datei, "w"&#41;;
    fputs&#40;$file, $stand&#41;;
    fclose&#40;$file&#41;;
    &#125;
    Benutz anstelle von $REMOTE_ADDR die Variable$_SERVER["REMOTE_ADDR"]

  9. #9
    marko
    Gast

    Standard

    Danke;
    ich schau mir das dann zu hause an und hoffe das, dass dann entlich geht

    falls nicht; weiss irgendwer eine Seite wo es schon einen fertigen counter zum downloaden gibts(mit solchen funktionen eben)?

    MFG MARKO

  10. #10
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    geht auch mit sql db??? oder muss es datei sein??ß

Ähnliche Themen

  1. Counter
    Von xXx_BaSStar_xXx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 14.11.2006, 20:10
  2. suche Counter - eigener Counter pro Seite!
    Von CHIEFmaster im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 08.01.2006, 11:18
  3. Counter
    Von GaIYIeR im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 24.05.2005, 21:45
  4. counter
    Von gast im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 12.03.2005, 13:03
  5. Counter
    Von Gurkenhappen im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 03.02.2005, 19:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •