SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.09.2007, 10:27:44
fab fab ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 12
Sessions (Anmeldungen) protokollieren - geht das?

Hallo zusammen,

ich bin nicht sicher, ob das (noch) ein Anfänger-Problem ist, aber ich habe die Hoffnung, dass die Lösung vielleicht eine ganz einfache sein könnte:

Ich habe einen passwortgeschützten Bereich eingerichtet. Am Eingang müssen sich die Anwender mit Passwort und Username anmelden. Diese sind in einer MySQL-DB gespeichert. Dann wird eine session gestartet, bis sich der Anwender wieder abmeldet. Soweit so gut...

Jetzt hätte ich aber zu statistischen Zwecken gerne ein paar Informationen über diese Anmeldevorgänge. Also wer hat sich wann mit welchem Passwort angemeldet, oder so. Ist das überhaupt eine Funktion von PHP oder gibt es da evtl. ein Feature direkt von MySQL. Ich weiss nicht, wie ich da grundsätzlich rangehen soll...?`

Gruß
fab
Mit Zitat antworten
  #2  
Alt 25.09.2007, 10:55:55
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Sessions (Anmeldungen) protokollieren - geht das?

Du könntest dir eine zusätzliche Tabelle in deiner DB anlegen, in der du die gewünschten Informationen ablegst.

Also z.B.
tab_logfile: User_ID, Aktion, Timestamp

Die User_ID bekommst du aus der Tabelle, in der die Usernames und Passwörter gespeichert sind, die Aktion speichert was gemacht wurde (1 für Anmeldung, 0 für Abmeldung) und der Timestamp ist halt ein Timestamp, kannst auch datetime oder so verwenden, um den Zeitpunkt der Aktion zu speichern.

Die Anmeldungen werden an der Stelle in die DB geschrieben, an der die Session gestartet wird (der Abgleich der Daten also erfolgreich war), die Abmeldungen dort wo die Session beendet wird (nach einem Klick auf Logout oder so).

Bedenke aber, dass sich nicht alle Benutzer ordnungsgemäß abmelden werden. Die Aussagekraft des Abmeldeprotokolls ist daher begrenzt.


Du kannst das Ganze natürlich auch zeilenweise in eine csv-Datei schreiben, um ein "echtes" Log-File zu haben.

Geändert von Raketenmann (25.09.2007 um 10:57:56 Uhr)
Mit Zitat antworten
  #3  
Alt 25.09.2007, 11:14:41
fab fab ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 12
AW: Sessions (Anmeldungen) protokollieren - geht das?

Hallo Raketenmann,

Danke erst mal!
Also das heisst: Auf der ersten Seite, die auf das Anmeldeformular folgt, erweitere ich mein Skript, das die session startet um ein paar Zeilen, die die jeweiligen Einträge in der DB oder dem Textfile vornehmen? Es gibt also nicht so etwas wie eine automatische Protokollfunktion, quasi in Form von Logfiles?

Gruß
fab
Mit Zitat antworten
  #4  
Alt 25.09.2007, 11:19:16
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Sessions (Anmeldungen) protokollieren - geht das?

Zitat:
Zitat von fab Beitrag anzeigen
Es gibt also nicht so etwas wie eine automatische Protokollfunktion, quasi in Form von Logfiles?

Gruß
fab
Du glaubst, es läuft da ein Programm im Hintergrund, was errät, wie dein eigenes Loginsystem funkioniert und die Aktionen schön menschenlesbar mitloggt? Wie soll das denn bitte gehen?

Du brauchst ja bloß eine Funktion

function log(userid, action){
...
}

die user-id, aktion und zeitstempel in eine datenbank schreibt und bei jeder gewünschten aktion aufgerufen wird.
Mit Zitat antworten
  #5  
Alt 25.09.2007, 14:11:41
fab fab ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 12
AW: Sessions (Anmeldungen) protokollieren - geht das?

Nicht wirklich, nein.

Die Variante, in PHP einfach an der einen Stelle die entsprechenden Werte abzuspeichern, klingt ja wirklich recht einfach. Ich dachte nur, es könnte sowas wie eine Protokollfunktion der Datenbank geben. Also eher MySQL und weniger PHP...
Mit Zitat antworten
  #6  
Alt 26.09.2007, 17:38:06
Acb1807 Acb1807 ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 2
AW: Sessions (Anmeldungen) protokollieren - geht das?

Hi,
Also zunächst einmal ich bin ein Newbie, also wenn ich blödsinn schreibe bitte nicht böse sein.....

Ich hab das so gelöst (könnte allerdings ein Sicherheitsrisiko darstellen, wegen der schreibbaren test.txt - das hab ich noch nicht raus):

In einer textdatei "test.txt" speiche ich mithilfe der folgenden Codes einige Daten:

$ip = getenv("REMOTE_ADDR");
$datei =fopen ("test.txt", "a");
$timestamp = time();
$datum = date("d.m.Y - H:i", $timestamp);

fwrite ($datei, $ip);
fwrite ($datei, $datum);
fclose ($datei);

Man kann natürlich auch einige vorher gesammelten Daten mit hinzupacken.

Grüße
Acb

Geändert von Acb1807 (26.09.2007 um 17:38:49 Uhr)
Mit Zitat antworten
  #7  
Alt 27.09.2007, 14:07:25
fab fab ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 12
AW: Sessions (Anmeldungen) protokollieren - geht das?

Danke,

ich hab's jetzt mit einer kleinen Funktion gelöst, die die Einträge entsprechend in einer neuen DB-Tabelle vornimmt:

PHP-Code:
Abfrageob Login korrekt warin dem Fall:

function 
in_db_einfuegen$user$pass$datum$uhrzeit)
    {
    
$anfrage "INSERT INTO abc ( user, pass, datum, uhrzeit) values( '$user', '$pass', '$datum', '$uhrzeit')";
    if ( ! 
mysql_query$anfrage$link ) )
        {
        
$dberror mysql_error();
        return 
false;
        }
    return 
true;
    } 
und so funktioniert's jetzt auch. Ein Problem weniger...

fab
Mit Zitat antworten
  #8  
Alt 27.09.2007, 14:31:29
FabianWesner FabianWesner ist offline
Junior Member
 
Registriert seit: May 2007
Beiträge: 170
AW: Sessions (Anmeldungen) protokollieren - geht das?

Zitat:
Zitat von Acb1807 Beitrag anzeigen
Ich hab das so gelöst (könnte allerdings ein Sicherheitsrisiko darstellen, wegen der schreibbaren test.txt - das hab ich noch nicht raus):
Das kommt darauf an, wo sich die Datei test.txt befindet. Wenn Sie oberhalt des htdocs-Ordner liegt, kann man sie zumindestens nicht mehr mit einem Browser öffnen.
__________________
Fabian Wesner - Freelancer: Webentwicklung und Programmierung
Mit Zitat antworten
  #9  
Alt 27.09.2007, 14:33:23
FabianWesner FabianWesner ist offline
Junior Member
 
Registriert seit: May 2007
Beiträge: 170
AW: Sessions (Anmeldungen) protokollieren - geht das?

@fab

Nicht vergessen: Passwörter speichert man NIE uncodiert! Du kannst eine One-Way Codierung wie md5() benutzen. Damit ist es unmöglich dir die Passwörter zu stibitzen.

Ausserdem würde ich dir empfehlen die Uhrzeit als SQL-Timestamp mit CURRENT_TIMESTAMP automatisch speichern zu lassen. Das hat den Vorteil, dass dir die Datenbank bei der Auswertung hilft.
__________________
Fabian Wesner - Freelancer: Webentwicklung und Programmierung

Geändert von FabianWesner (27.09.2007 um 14:36:59 Uhr)
Mit Zitat antworten
  #10  
Alt 27.09.2007, 14:56:49
fab fab ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 12
AW: Sessions (Anmeldungen) protokollieren - geht das?

Danke. Zu CURRENT_TIMESTAMP werde ich nochmal was nachlesen. Ich verwende jetzt u.a. time(); weil man das so schön sortieren kann bei der Ausgabe.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP / Sessions / Load Balancing sniechzial PHP für Fortgeschrittene und Experten 0 13.02.2007 22:45:15
Verstehe etwas Grundlegendes zu Sessions nicht.... dödel PHP Grundlagen 10 03.01.2007 12:55:55
Sessions chieftequila PHP Grundlagen 26 12.10.2006 17:40:22
Frage zu Sessions Voller17 PHP Grundlagen 1 31.03.2003 14:32:30
Sessions vs Originalkekse | Sicherheitsapsekte Odi PHP Grundlagen 6 29.01.2003 13:04:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:51:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt