php ipherausfinden
-
-
nimm $_SERVER['REMOTE_ADDR']
-
Geht auch nicht
-
Was gibt er denn zurück?
-
Garnichts, das ist ja das Problem.
-
Starte xampp neu php läuft wohl nicht
-
teste es online, ka ob das lokal überhaupt geht
-
Doch bis vor kurzem gings noch.
Php läuft einwandfrei.
Online gehts noch nicht, weil meine domain noh eingerichtet wird. -
schreib mal das ganze Script hier hinein [] *g*
-
Wenn du wilst.
PHP
Alles anzeigen<?php /* ||||||| |||| |||||| || || |||||||||||| |||||||||| |||||||| || || || ||| || || || || || || || |||||||||| |||||||| || || || || || || || || || || || || ||| || || || || || || |||||| ||||| || |||||||||| ||| |||||||| || || |||||||||||| || || || || || || ||| || || || ||| || || || || || || || |||||||||| |||||||| || || ||||||| || || || || || || || |||||||||| |||||||| || || Counter Version 1.0 */ // ######################## // option source code // ######################## $rooth_path = './counter/'; // Nicht ändern $image_folder = 'images/'; // Pfad, wo die Bilder für die Zahlen liegen (relativ zum Ordner der Seite auf die der Counter includiert werden soll) $file_folder = ''; // Pfad, wo die Files mit den Daten vorhanden sind (relativ zum Ordner der Seite auf die der Counter includiert werden soll) $check = 'yes'; // Legt fest ob nach verschiedenen IP-addressen gezählt werden soll (nur yes oder no eingeben) $method = 'image'; // Legt fest, ob Sie Bilder oder Ziffern für den Counter nuntzen wollen (nur image oder number eingeben) $methodcolor = '#005B00'; // Farbe der Ziffern falls Ziffern als Bilder ausgewählt wurden(in hex-wert) $methodscripttype = 'TimeNewRoman'; // Schrifftart der Ziffern falls Ziffern als Bilder ausgewählt wurden(auch die Stile serif, sans-serif,cursive,fantasy,monospace verwendbar) $methodbgcolor = '#000000'; // Hintergrund, falls Ziffern als Bilder ausgewählt(in hex-wert) $methodfontsize = '30px'; // Göße der Schrifft, falls Ziffern ausgewählt wurden(erlaubte Angaben: cm,em,ex,in,mm,pc,pt,px,%) $methodfontstyle = ''; // Schrifftstil, falls Ziffern ausgewählt wurden(erlaubte Angaben: italic, oblique, small-caps) $methodtextdecoration = 'underline'; // Textdekoration, falls Ziffern ausgewählt(erlaubte Angaben: underline,overline,line-through,blink(wird nicht vom IE interpretiert)(mehrere Angaben durch space trennen)) $Ip_file = 'ips.ds.eu'; // Name des Files, wo die IP-addressen geschpeichert werden sollen $Count_file = 'count.ds.eu'; // Name des Files, wo die Counter-zahl geschpeichert wird $lowest_numbers = '6'; // Mindestanzahl der Counterstellen $border = '3'; // Rahmengrößes Counters $align = 'center'; // legt fest ob der Counter links(left), in der Mitte(center) oder rechts(right) angezeigt wird $bordercolor = '#005B00'; // Farbe des Rahmens(in hex-wert) $height_of_img = '20'; // Höhe der Bilder $width_of_img = '20'; // Breite der Bilder // // Bilder der Zahlen // $img[0]=$rooth_path.$image_folder."ani0.gif"; $img[1]=$rooth_path.$image_folder."ani1.gif"; $img[2]=$rooth_path.$image_folder."ani2.gif"; $img[3]=$rooth_path.$image_folder."ani3.gif"; $img[4]=$rooth_path.$image_folder."ani4.gif"; $img[5]=$rooth_path.$image_folder."ani5.gif"; $img[6]=$rooth_path.$image_folder."ani6.gif"; $img[7]=$rooth_path.$image_folder."ani7.gif"; $img[8]=$rooth_path.$image_folder."ani8.gif"; $img[9]=$rooth_path.$image_folder."ani9.gif"; $Ip_file = $rooth_path.$file_folder.$Ip_file; $Count_file = $rooth_path.$file_folder.$Count_file; // ######################### // action sour code // ######################### // // Hackerschutz // if ( !defined('NOHACKER') ) { die("Hacking attempt"); } // ######################### // // Ip-addresse bestimmen // $IPfile = fopen($Ip_file,"r"); // öffnet den file zum lesen $temporary_IPs = fgets($IPfile); // liest den IPtext $temporary_IPs_in_Array = explode("\n",$temporary_IPs); // erstellt einen Array fclose($IPfile); // schließt den file // ########################## // // bestimmt den Counter-Wert // $the_counter_file = fopen($Count_file,"r"); // öffnet den file zum schreiben $temporary_count = fgets($the_counter_file); // liest den counterwert fclose($the_counter_file); // schließt den File // ########################## // // löscht die ip addressen jeden tag // $now = localtime(time(), TRUE); $day = $now['tm_mday']; $file = fopen("ipwatch.txt","r"); $get = fgets($file); fclose($file); if($get != $day) { $file = fopen("ipwatch.txt","w"); fputs($file, $day); fclose($file); } // ############################ // // überpüft, ob Ip schon benutzt wurde // if($check == 'yes'){ $temporaryIP = $SERVER['REMOTE_ADDR']; // bestimmt die Ip-addresse des Users if(in_array($temporaryIP,$temporary_IPs_in_Array)) // überprüft, ob die IP-addresse schon benutzt wurde { $update = 'no'; // bestimmt, ob der Counterstand aktualisiert wird oder nicht } else { $update = 'yes'; // bestimmt, ob der Counterstand aktualisiert wird oder nicht }} if($check == 'no'){ $update = 'yes'; } // ########################## // // aktualisiert IP-addressen // if($check == 'yes') // prüft, ob Ip-addressen aktualisiert werden sollen, oder nicht { if($update == 'yes') // function for update IP-file { array_push($temporary_IPs_in_Array,$temporaryIP); // fügt die Ip-addresse des User dem Array hinzu $variable_ready = implode("\n",$temporary_IPs_in_Array); // erstellt eine Variable aus dem Array $the_IP_file = fopen($Ip_file,"w"); // öffnet den file zum schreiben fputs($the_IP_file,$variable_ready); // schreibt die Ip-addressen in den file fclose($the_IP_file); // schließt den file }} // ########################## // // erhöht den Counterstand // if($update == 'yes'){ // function zum Erhöhen $temporary_count++; // erhöht den Counterstand um einen $the_counter_file = fopen($Count_file,"w"); // öffnet den file zum schreiben fputs($the_counter_file,$temporary_count); // schpeichert den Wert fclose($the_counter_file); include("./counter/min/addon.php"); include("./counter/houraddon/addon.php"); include("./counter/dayaddon/addon.php"); include("./counter/monthaddon/addon.php"); } // schließt den file // ########################## // // zeigt den Counterwert // include("./counter/min/giveout.php"); include("./counter/houraddon/giveout.php"); include("./counter/dayaddon/giveout.php"); include("./counter/monthaddon/giveout.php"); echo "<table align=$align border=$border bordercolor=$bordercolor cellspacing=\"0\" cellpadding=\"0\"><tr>"; // öffnet die Tabelle echo "<span style=\"font-size:15px; color:$methodcolor;\">Gesammt: </span></tr><tr>"; if($method == 'number'){ // überprüft, welche counterart genommen werden soll $length = strlen($temporary_count); while($length < $lowest_numbers){ $temporary_count = "0".$temporary_count; $length++; } echo "<td><p style=\"color:$methodcolor; font-family:$methodscripttype; background-color:$methodbgcolor; font-size:$methodfontsize; text-decoration:$methodtextdecoration; font-style:$methodfontstyle; \">$temporary_count</p></td>"; } if($method == 'image'){ $length = strlen($temporary_count); while($length < $lowest_numbers){ $temporary_count = "0".$temporary_count; $length++; } for($c = '0'; $c < strlen($temporary_count); $c++){ echo "<td>[img]".$img[substr($temporary_count, $c, 1)]."[/img]</td>"; }} echo "</tr></table>"; // ############################ ?>
Die includes sind nur für extras und haben mit dem wirklichen script nicht viel zu tun.
-
http://www.wasted-oldenburg.de/bendor/ip.php
--> online gehts (beide möglichkeiten)
--> lokal nicht (du greifst ja auch nicht extern über eine ip auf das script zu) -
-
hoppla, stimmt, naja egal, is nur in der anziege falsch...
-
Ja, jetzt gehts. THX
-
Selber counter, anderes Problem.
Jetzt wird der counterstand der gesamtbesucher ständig erhöht. Das soll ja auch nicht sein, -
nimm diesen counter, der geht garantiert:
PHP
Alles anzeigen<?php ######################config Bereich############################################### //Geben sie hier den Zeitraum in Sekunden an die ein Rechner gesperrt ist //momentan 1 Stunde $sperr_zeit = 60*60*24; // Das was vor der Anzahl der Besucher stehen soll: $ansage = "[b]Visits[/b] : 000"; // WICHTIG:Für Datei zahl.txt und iplogger.txt müssen auf alle schreibrechte besitzen (also chmod 666), // und Zahl muss vor dem ersten Seiten aufruf mindestens eine 0 enthalten sonst wird nicht mitgezählt ######################config Bereich ENDE############################################# ####################### Programm : ######################## echo $ansage; kick_the_old_IPs(); // diese funktion sorgt dafür dass die Datei in der //die IP gelogged wird die Ips gelöscht werden die dort //schon länger vorhanden sind als in $sperr_Zeit erlaubt if (ip_suche($REMOTE_ADDR)){ //ip_suche überprüft ob ein Reload forlieg falls ja gibt $zahl = implode("",file("zahl.txt")); // sie false zurück und der Seitenaufruf echo "[b]".++$zahl."[b] "; // wird nicht mitgezählt $dat = fopen("zahl.txt","wb"); fwrite($dat,"$zahl"); fclose($dat); } else { $zahl = implode("",file("zahl.txt")); echo "[b]".$zahl."[b] "; } function ip_suche($vergleicher){ global $sperr_zeit; $array=file("iplogger.txt");// die Datensätze liegen in der form IP|Zeitpunkt vor und // Je ein Datensatz pro Zeile if ($array[0] != ""){ // ist kein Datensatz vorhanden erübrigt sich das überprüfen.... if(is_in($array,$vergleicher)){// überprüft ob die IP schon vorhanden ist ist... return 0; } else{ // ist sie nicht vorhanden wird sie eingetragen $handle = fopen("iplogger.txt","a+b"); $new = $vergleicher."|".time(); fwrite($handle,"\r\n$new"); fclose($handle); return 1; } } else { $handle = fopen("iplogger.txt","wb"); $new = $vergleicher."|".time(); fwrite($handle,"\r\n$new"); fclose($handle); return 1; } } function is_in($array,$vergleicher){ // überprüft ob ein neues zählen erlaubt ist foreach ($array as $check){ // die einzelnen Datensätze werden duchgegangen $check=explode("|",$check); // und aufgetrennt um sie zu prüfen. if ($check[0] == $vergleicher){ // ob eine Zeitüberschreitung vorliegt muss nicht return 1; // muss nicht überprüft werden da dies durch kick_the_old_IPs() erledigt wurde break; } } } function kick_the_old_IPs(){ // überprüft ob die Datensätze noch benötigt werden. // d.h. ob sie schon länger in der Datei stehen als die Sperrzeit besagt. global $sperr_zeit; $array = file("iplogger.txt"); foreach($array as $a){ $b = explode("|",$a); $k = time()-$b[1]; // $k besagt wie lange der Datensatz shcon existiert if($k < $sperr_zeit){ // wenn die Sperrzeit noch nicht verstrichen ist $new_array[] =$a; // wird Der Datensatz in ein neues Array geschrieben } } if (count($new_array)>=2){ //umwandlung des neuen Arrays in einen String um probleme mit fwrite zu verhindern $string = implode("",$new_array); } elseif(count($new_array)==0){ $string = ""; } else{ $string = $new_array[0]; } $handle = fopen("iplogger.txt","wb"); fwrite($handle,"$string"); //speichern des Aktuellen Datensatzes fclose($handle); } ?>
-
Meiner geht ja gut bis auf das problem bei der gesamtstatistik
Benutzer am tag/monat/stunde/jetzt läuft einwandfrei.
Nur irwo happert da was, naja ich werd den dann nochmal genau durchgucken müssen.