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 ::

Der CSS-Problemlöser

Der CSS-Problemlöser 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.01.2003, 20:11:39
KlausMotz KlausMotz ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 4
Login Logout Script

Hallo,

ich suche eine Möglichkeit wie ich für einem Bereich einer Website ein Login realisieren kann. Es soll wie folgt funktionieren:

Bei Aufruf wird ein Login-Bildschirm angezeigt
Login-Name und Passwort sollen in einer My-SQL Datenbank gespeichert sein und überprüft werden.
Und jetzt kommts!
Das Login soll automatisch ( nicht durch klick auf eine "Logout"-Schaltfläche) ungültig werden wenn:
Der Angemeldete die Seite verlässt. Also egal ob mit der "Zurück"-Schaltfläche, durch Schliessen des Browserfenster, durch Eingabe einer anderen URL usw.

Hat jemand Tips zur Realisierung? Kennt jemand freie Script die als Anregung dienen können?

Ich habe was übers Session gelesen. Kann es mit einer Session-ID funktionieren? Wie?

Ich bin in dieser Hinsicht ein blutiger Anfännger und für jede Hilfe dankbar.

Gruß
Werner
Mit Zitat antworten
  #2  
Alt 16.01.2003, 20:15:27
Ben20
Guest
 
Beiträge: n/a
Automatisch geht das nicht, da PHP ja nicht mitbekommt, wenn jemand die Seite verlässt. Du kannst aber zusätzlich zu Passwort und Username noch eine Timestamp in der DB speichern. Das Loginscript killt dann alle Logins, die älter sind als z.B. eine halbe Stunde. Das Problem dabei ist, dass dafür jemand das Loginscript aufrufen muß damit das überprüft wird. Das könntest Du aber umgehen, in dem Du einen Cronjob laufen läßt der alle halbe Stunde ein "Kontrollscript" aufruft.
Mit Zitat antworten
  #3  
Alt 16.01.2003, 20:24:11
Viper Viper ist offline
Anfänger
 
Registriert seit: Jun 2002
Beiträge: 75
Hi!

Natürlich funktioniert das mit Sessions.
Du gibst dem User eine SessionID (session_start()).
Dann ein Loginscript mit Name/Passwort. Der User muss natürlich vorher in einer DB angelegt werden (Anmeldeformular in dem der gewünschte Name, die EMail Adresse und das gewünschte Passwort gespeichert werden)!
Dann schreibst Du in die Session den Namen und die EMail Adresse oder nur die EMail -> reicht auch ($_SESSION["email"]).
Wenn der User nun eine andere Seite aufruft erlischt die Session. Das selbe passiert auch wenn eine ander URL aufgerufen wird. Machst Du das ganze per LogOut Button löscht Du ganz einfach die Session (session_unregister["email"]).

Probiers mal aus!

Gruss, Viper
Mit Zitat antworten
  #4  
Alt 16.01.2003, 20:27:26
Ben20
Guest
 
Beiträge: n/a
Für ein einfach Login geht das - aber wenn Du was in die DB schreibst (z.B. was in der Richtung: User ist eingeloggt) um den Login sicherer zu machen, wird der Inhalt nicht geändert.
Mit Zitat antworten
  #5  
Alt 16.01.2003, 20:28:17
KlausMotz KlausMotz ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 4
Session

Ja aber,

kann ich der Session auch eine Gültigkeit zuweisen? Das ganze soll ja auch funktionieren wenn jemand nicht auf Logout klickt sondern z.B. einfach eine neue URL in die Adresszeile eingibt.
Mit Zitat antworten
  #6  
Alt 16.01.2003, 20:31:39
Ben20
Guest
 
Beiträge: n/a
Eine Session hat im automatisch eine bestimmte Haltbarkeit - das ist in der PHP.ini festgelegt. Bei 1&1 sind das 1440 (Sekunden = 24 Minuten, nehme ich mal an). Bei Lycos sind 20 Minuten hab ich mal gehört!
Mit Zitat antworten
  #7  
Alt 16.01.2003, 20:35:17
KlausMotz KlausMotz ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 4
Muss ich nachfragen

Das mit der Haltbarkeit muss ich nachfragen. Übrigens, die Domain ist auf einem Windows II-Server gehostet. Ich muss mal fragen wie es da mit den Cronjobs ist.
Mit Zitat antworten
  #8  
Alt 16.01.2003, 20:37:00
Ben20
Guest
 
Beiträge: n/a
Wenn Du ein Script mit

<?php

phpinfo();

?>


auf Deinen Server legst und aufrufst, bekommst Du die Einstellung unter session.gc_maxlifetime oder so ähnlich zu sehen!

Du kannst die Haltbarkeit auch beeinflussen:

ini_set("session.gc_maxlifetime", AnzahlSekunden);



Unter Windows würde ich vermuten kannst Du den Taskplaner als Cron Ersatz verwenden.
Mit Zitat antworten
  #9  
Alt 16.01.2003, 20:42:28
KlausMotz KlausMotz ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 4
ich werd das mit den Session mal hier in selfphp genau nachlesen. Wenn ich das jetzt richtig verstanden habe, brauche ich ja garkeinen cronjob.

Danke erstmal für die schnelle Unterstützung

Gruß
Werner
Mit Zitat antworten
  #10  
Alt 16.01.2003, 21:29:06
Viper Viper ist offline
Anfänger
 
Registriert seit: Jun 2002
Beiträge: 75
Natürlich funktioniert das ganze auch wenn der User eine neue URL eingibt. Er verlässt Deine Seite und somit wird die Session mit der er angemeldet ist ungültig.

Viper
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:26: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