Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Logfile über Webseitenbesuche

Frage Internet

Mitglied: anfaenger500

anfaenger500 (Level 1) - Jetzt verbinden

03.03.2011 um 01:03 Uhr, 2373 Aufrufe, 1 Kommentar

Hallo,
ich habe eine Webseite zur Vermietung von Ferienwohnungen und möchte alle Besucher in einer Logdatei festhalten.

Habe schon ein Datei gebastelt, aber es klappt nicht alles.

Bin noch Anfänger.

Die Date beinhaltet eine IP-Sperre.

Hier der Dateiinhalt:
01.
<? 
02.
// ip-sperre in sekunden (Standard 1Jahr) 
03.
$expire = 31536000; 
04.
$filename = "neu2/counter.txt"; 
05.
 
06.
if (file_exists($filename))  
07.
08.
   $ignore = false; 
09.
   $current_agent = (isset($_SERVER['HTTP_USER_AGENT'])) ? addslashes(trim($_SERVER['HTTP_USER_AGENT'])) : "no agent"; 
10.
   $current_time = date ("H:i:s"); 
11.
   $current_ip = $_SERVER['REMOTE_ADDR'];  
12.
       
13.
   // daten einlesen 
14.
   $c_file = array(); 
15.
   $handle = fopen($filename, "r"); 
16.
    
17.
   if ($handle) 
18.
19.
      while (!feof($handle))  
20.
21.
         $line = trim(fgets($handle, 4096));  
22.
		 if ($line != "") 
23.
		    $c_file[] = $line;		   
24.
25.
      fclose ($handle); 
26.
27.
   else 
28.
      $ignore = true; 
29.
    
30.
   // bots ignorieren    
31.
   if (substr_count($current_agent, "bot") > 0) 
32.
      $ignore = true; 
33.
	   
34.
    
35.
   // hat diese ip einen eintrag in den letzten expire sec gehabt, dann igornieren? 
36.
   for ($i = 1; $i < sizeof($c_file); $i++) 
37.
38.
      list($counter_ip, $counter_time) = explode("||", $c_file[$i]); 
39.
	  $counter_time = trim($counter_time); 
40.
	   
41.
	  if ($counter_ip == $current_ip && $current_time-$expire < $counter_time) 
42.
43.
	     // besucher wurde bereits gezählt, daher hier abbruch 
44.
		 $ignore = true; 
45.
		 break; 
46.
47.
48.
    
49.
   // counter hochzählen 
50.
   if ($ignore == false) 
51.
52.
      if (sizeof($c_file) == 0) 
53.
54.
	     // wenn counter leer, dann füllen       
55.
		 $add_line1 = date("W") . "-1||" . date("d") . "-1||" . date("m") . "-1||" . date("Y") . "-1||" . $current_time . "||" . "1||1" . "\n"; 
56.
		 $add_line2 = $current_ip . "||" . date ("d.m.Y") . "||" . $current_time . "\n"; 
57.
		  
58.
		 // daten schreiben 
59.
		 $fp = fopen($filename,"w+"); 
60.
		 if ($fp) 
61.
62.
		    flock($fp, LOCK_EX); 
63.
			fwrite($fp, $add_line1); 
64.
		    fwrite($fp, $add_line2); 
65.
			flock($fp, LOCK_UN); 
66.
		    fclose($fp); 
67.
68.
		  
69.
		 // werte zur verfügung stellen 
70.
		 $week = $day = $month = $year = $all = $record = 1; 
71.
		 $record_time = $current_time; 
72.
		 $online = 1; 
73.
74.
      else 
75.
76.
	     // counter hochzählen 
77.
		 list($week_arr, $day_arr, $month_arr, $year_arr, $record_time, $all, $record) = explode("||", $c_file[0]); 
78.
		 
79.
		 // week 
80.
		 $week_data = explode("-", $week_arr); 
81.
		 $week = $week_data[1]; 
82.
		 if ($week_data[0] == date("W")) $week++; else $week = 1; 
83.
		 
84.
		 // day 
85.
		 $day_data = explode("-", $day_arr); 
86.
		 $day = $day_data[1]; 
87.
		 if ($day_data[0] == date("d")) $day++; else $day = 1; 
88.
		   
89.
		 // month 
90.
		 $month_data = explode("-", $month_arr); 
91.
		 $month = $month_data[1]; 
92.
		 if ($month_data[0] == date("m")) $month++; else $month = 1; 
93.
		  
94.
		 // year 
95.
		 $year_data = explode("-", $year_arr); 
96.
		 $year = $year_data[1]; 
97.
		 if ($year_data[0] == date("Y")) $year++; else $year = 1; 
98.
		   
99.
		 // all 
100.
		 $all++; 
101.
		  
102.
		 // neuer record? 
103.
		 $record_time = trim($record_time); 
104.
		 if ($day > $record) 
105.
106.
		    $record = $day; 
107.
			$record_time = $current_time; 
108.
109.
		  
110.
		 // speichern und aufräumen und anzahl der online leute bestimmen 
111.
		  
112.
		 $online = 1; 
113.
		  
114.
		 // daten schreiben 
115.
		 $fp = fopen($filename,"w+"); 
116.
		 if ($fp) 
117.
118.
		    flock($fp, LOCK_EX); 
119.
			$add_line1 = date("W") . "-" . $week . "||" . date("d") . "-" . $day . "||" . date("m") . "-" . $month . "||" . date("Y") . "-" . $year . "||" . $record_time . "||" . $all . "||" . $record . "\n" ;		  
120.
		    fwrite($fp, $add_line1); 
121.
		  
122.
		    for ($i = 1; $i < sizeof($c_file); $i++) 
123.
124.
               list($counter_ip, $counter_time) = explode("||", $c_file[$i]); 
125.
	   
126.
	           // übernehmen 
127.
		   	   if ($current_time-$expire < $counter_time) 
128.
129.
	              $counter_time = trim($counter_time); 
130.
				  $add_line = $counter_ip . "||" . $counter_time . "\n"; 
131.
			      fwrite($fp, $add_line); 
132.
			      $online++; 
133.
134.
135.
		    $add_line = $current_ip . "||" . $current_time . "\n"; 
136.
		    fwrite($fp, $add_line); 
137.
		    flock($fp, LOCK_UN); 
138.
		    fclose($fp); 
139.
140.
141.
142.
   else 
143.
144.
      // nur zum anzeigen lesen 
145.
	  if (sizeof($c_file) > 0) 
146.
	     list($week_arr, $day_arr, $month_arr, $year_arr, $record_time, $all, $record) = explode("||", $c_file[0]); 
147.
	  else 
148.
		 list($week_arr, $day_arr, $month_arr, $year_arr, $record_time, $all, $record) = explode("||", date("W") . "-1||" . date("d") . "-1||" . date("m") . "-1||" . date("Y") . "-1||" . $current_time . "||" . "1||1"); 
149.
	   
150.
	  // week 
151.
	  $week_data = explode("-", $week_arr); 
152.
	  $week = $week_data[1]; 
153.
	   
154.
	  // day 
155.
	  $day_data = explode("-", $day_arr); 
156.
      $day = $day_data[1]; 
157.
	   
158.
	  // month 
159.
	  $month_data = explode("-", $month_arr); 
160.
	  $month = $month_data[1]; 
161.
	   
162.
	  // year 
163.
	  $year_data = explode("-", $year_arr); 
164.
	  $year = $year_data[1]; 
165.
	   
166.
	  $record_time = trim($record_time); 
167.
	   
168.
	  $online = sizeof($c_file) - 1; 
169.
170.
?> 
171.
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
172.
		<tr> 
173.
			<td colspan="2"> 
174.
	 			<p align="center"> 
175.
					<font face="Verdana" size="3"><br>		 
176.
						 Sie sind der <? echo $all; ?> Besucher auf unserer Seite!	 
177.
					</font>  
178.
				</p> 
179.
			</td> 
180.
		</tr> 
181.
</table> 
182.
<? 
183.
184.
?>
Die Logfiles werden in die Datei counter.txt geschrieben.

Inhalt der Datei:
08-3||27-3||02-3||2011-3||22:06:39||3||3
62.245.250.0||27.02.2011
80.187.107.186||20:12:53
91.34.203.200||22:06:39

Mein Ziel ist es:
- alle Zugriffe egal wie oft zu protokollieren
- Zugriffe sollen mit IP-Adresse, Zugriffsdatum, Zugriffszeit erfasst werden

Leider komme ich hier nicht weiter, kann mir bitte einer von euch weiterhelfen!

Danke und Gruß
Mitglied: Anton28
10.03.2011 um 20:24 Uhr
Hallo,

warum willst Du ein solches Datengrab erzeugen ?

Da es sich bei den IP-Adressen um persönliche Daten nach der neuesten Rechtssprechung handelt, gehe ich davon aus, dass von jedem Besucher Deiner Web-Site eine zustimmung zur Verarbeitung der personenbezogenen Daten vorliegt, oder ?

Was willst Du mit diesem Datenmüll anfangen ?

Die meisten Besucher Deiner Seite haben einen ADSL-Anschluss, diesem wird regelmäßig eine neue IP zugewiesen.

Was also ist der Sinn dieses Datenmülls ?

Weil ichs kann, tu ichs, oder was ?

Gruß

Anton
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Tools
gelöst XCopy bei der Konsole von Windows(LOGFILE) funktioniert nicht! (8)

Frage von aitzi2811 zum Thema Windows Tools ...

Apache Server
gelöst Rootlink im Apache Logfile (6)

Frage von Henere zum Thema Apache Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...