• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gutes Login-Skript erstellen

Didi_55

Mitglied
Hi.

Ich bin gerade dabei, ein gutes und sichers Login-System mit Benutzerkontrollzentrum zu erstellen. Was kann man / sollte man alles auslagern in include-Dateien?

Auf jeden Fall:

  • MySQL-Verbindung herstellen

Was noch?
 
Eigentlich alles. Wirklich alles was irgendwie eine funktionale Einheit bildet solltest Du in separaten Dateien unterbringen. Die jeweils aufzurufenden Dateien sollten nur die Funktionen aus den anderen Dateien aufrufen und darüber die Ausgabe durchführen lassen.

Ein Sicherheitsaspekt (auch unabhängig von einem Loginsystem) sollte noch sein, dass Du verhindern solltest das Dateien, die nur per include() eingebunden werden sollen, auch nicht direkt aufgerufen werden können. Das geht z.B. indem Du in einer zentralen, immer als erstes eingebundenen Datei eine Konstante definierst und deren Vorhandensein in jeder einzelnen Datei als erstes prüfst.

config.php
PHP:
define( "PROJEKT", 1 );

irgendwas.php
PHP:
if (!defined('PROJEKT')) { header("/index.php"); }
 
OK. Das hat mir schon einmal etwas geholfen. Danke

Eine Frage noch, ich arbeite mit Sessions. Kann man session_start(); auch auslagern mit anderem Code z.B. Überprüfung, welche Sessions vorhanden sind. Muss man dann auch in der aufzurufenden Datei nochmal session_start machen, wenn man es schon in der include Datei hat?
 
Kann man session_start(); auch auslagern mit anderem Code z.B. Überprüfung, welche Sessions vorhanden sind.
Ja kannst du machen, solange du keiner Ausgaben vor session_start() machst. Und es gibt nur eine Session, der Rest sind Sessionvariablen ;)
Muss man dann auch in der aufzurufenden Datei nochmal session_start machen, wenn man es schon in der include Datei hat?
Nein musst und darfst du auch nicht, sonst gibt's ein Warning in Sachen "session already started"
 
Zurück
Oben