### Board mmajunke.de ###

Board zu Themen der Website www.mmajunke.de
Aktuelle Zeit: Mo 11. Dez 2017, 20:12

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: IP-Logging ?
Ungelesener BeitragVerfasst: Sa 11. Mai 2013, 06:48 
Offline
Sponsor
Sponsor

Registriert: Mo 21. Feb 2011, 18:08
Beiträge: 85
Wohnort: Wesseling
Schönen guten morgen. Da bin ich mal wieder. Dein Modul läuft weiterhin absolut Top.
Jedoch habe ich eine Frage. Da wir in letzter Zeit das Gefühl haben das sich jemand in Accounts einloggt die ihm nicht gehören, würde ich ganz gerne wissen ob es irgendwie mit dem Visitorscounter möglich ist die IP der angemeldeten User zu loggen und protokollieren.
Am liebsten wäre mir in einer Textdatei, welcher User sich wann genau mit welcher IP eingeloggt hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: IP-Logging ?
Ungelesener BeitragVerfasst: So 12. Mai 2013, 11:18 
Offline
Moderator
Moderator
Benutzeravatar

Registriert: Di 4. Mai 2010, 18:44
Beiträge: 639
Wohnort: Hennigsdorf
Hi,

möglich ist das :)

Aber es ist zur Zeit nicht ohne Anpassung an der helper.php möglich bzw. habe ich damals, als ich diese Art der Erfassung vorbereitet habe, wegens dem Datenschutz speziell keine IP-User Beziehung Erfassung eingebaut , aber für so einen Fall geht das schon mal.
( Eigentlich wollte ich die zu speichernden Daten wieder konfigurierbar machen, aber weist ja.. mein Zeit :cry: )

Ach, in ein Textfile schreiben, geht nicht so schnell. Die Daten landen mit in der Datenbank und können dann per SQL ausgewertet werden.

Nun zur Lösung:
zuerst schalte in den Parametern die IPRaw - Speicherung an ( Ip Adressen in Klartext speichern ).

dann kommt die Anpassung der helper.php ( wie immer vorher ein Backup der Datei machen :) )
( /joomla/modules/mod_vvisit_counter/helper.php )

So ca. bei Zeile 1620 müsste sich folgener Bereich befinden:
Code:
//
$add_data = 'NULL';
// add anon if a user
if ( !$user->guest ) {
  // später evt auslagern
  $val_arr = array( 'user' => TRUE );
  //$arr["otherkey"] = otherval;
  $add_data = $this->db->Quote( serialize($val_arr) ); // we need 'value'
}


ERSETZE den Bereich durch dies

Code:
//
$add_data = 'NULL';
// add anon if a user
if ( !$user->guest ) {
  // später evt auslagern
  $val_arr = array( 'user' => TRUE );
  //$arr["otherkey"] = otherval;
         
  // ###  NEU  START
  if( !empty($user->username) ) {
    $val_arr['username'] = $user->username ;
  }
  // ###  NEU  END
       
  $add_data = $this->db->Quote( serialize($val_arr) ); // we need 'value'
}


Damit erhälts Du in der Datenbank in der Spalte "data" so etwas "a:2:{s:4:"user";b:1;s:8:"username";s:5:"admin";}" .

Danach kann man dann mit SQL suchen, z.B. SELECT * FROM `jos_vvisitcounter` WHERE data like '%admin%'
( oder einfach username ). Mit GROUP BY usw. sind diverse Auswertungen möglich.

ABER ACHTUNG:
ein Problem gibt es noch. Das erstellen der Datenzeile unterliegt der Counter-Logik. Also Pro IP wird ein Datensatz erst neu erstellt nach Ablauf der Sperrfrist. Zuerst kommt der Anwender aber nicht als "User" auf die Seite, sondern ist Gast. Damit wird eine Zeile erzeugt ohne Username. Eine Neue Zeile mit Username kommt erst nach Sperrzeit Ablauf, ein Update der vorhandenen Zeile gibt es (aktuell) nicht !

Wie kann man das lösen.. hmmm.. Brainstorming...
- evt reicht ja die Datenerfassung so wie sie ist aus ( also IP-Username erst nach dem ersten Sperrzeit Intervall Ablauf ) um "bösewichte" finden zu können .. wie hoch ist Deine Sperrzeit eingestellt ? ich denke das wird sich nur lohnen wenn die unter 15 Minuten liegt.. und selbst dann.. hmmm...
- Update Logik einbauen - nicht so einfach auf die Schnelle ( drum liegt das Feature auch noch schlafend )
- evt einen zweiten unsichtbaren Counter einbauen der nur für obigen Zweck gedacht ist, also mit geringer Sperrzeit .
Aber, durch die geringe Sperrzeit hat man natürlich viel viel !!!! mehr Daten in der neuen Tabelle. Wenn Du das mit dem zweiten versteckten Counter machst ( Kopie des Moduls + neuen Tabellenname + alles unsichtbar ) dann musst Du auf jeden Fall die zu speichernde Datenmenge begrenzen. Wenn Du täglich prüfst, dann die Daten auch nicht so lang aufbewahren.

hoffe ich konnte erst einmal etwas weiterhelfen...

Gruß
Micha


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Impressum
Powered by phpBB

Deutsche Übersetzung durch phpBB.de