Session id filtern

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
AnfaengerZ
Mitglied
Beiträge: 127
Registriert: 13.05.2018 07:48
Wohnort: 28000

Session id filtern

Beitrag von AnfaengerZ »

Hallo und ein gesundes neues Jahr,

durch eine kleine "Randarbeit" bin ich auf ein, für mich im Moment, schwer lösbares Problem gestossen.
Und zwar geht es um den weiten Bereich "Intranet".
Ich hab in einer Testumgebung einen Login gebastelt, welcher via MYSQLI eine Nutzer-ID sowie den Nutzernamen/Email aus der Tabelle abfragt.
Soweit so gut.
Nur, wenn ich mich also mit Account X einlogge, bin ich im selben Browser auf allen Accounts eingeloggt, welche in der Testumgebung vorhanden sind. (Jeder Account hat seine eigene Seite/Verzeichnis)

Routine:

Im Header wird erst eine Session erzeugt:

Code: Alles auswählen

<?php
    
    session_start();  
?>
Dann via Script in eine log.inc.php.
Diese fragt nach Formulareingabe die Datenbanktabelle ab und startet die usergebundene Session:

Code: Alles auswählen

session_start(); 
			$_SESSION['userId'] = $row['idUsers'];
			$_SESSION['userUid'] = $row['uidUsers'];
Anschließend header zur eigentlichen Seite.

Die header.php wird includiert und hat im ersten Teil, ohne Leerzeichen etc:

Code: Alles auswählen

<?php
    
    session_start();  
?>
stehen.

Auf jeder "login-gebundenen Seite" gibt es eine Abfrage:

Code: Alles auswählen

if (isset($_SESSION['userId'])) {
		  
		    
			
			echo "<h2>Du bist eingeloggt</h2>";
			
			
	}
    else{

     echo "<script>location.href='beginn.php'</script>";	

	}	 
Das wäre alles nicht so dramatisch, jedoch sieht für jede Seite der Pfad anders aus. Beispiel der Seiten/Accounts:

/absoluterpfad/webspace/seite1/ - User a
/absoluterpfad/webspace/seite2/ - User b
/absoluterpfad/webspace/seite3/ - User c

Alle drei Seiten liegen auf der selben URL, jedoch in drei verschiedenen Verzeichnissen. Jede Seite hat eine eigene Datenbank(host) und ist somit authark. Inhaltlich sind die Seiten zu 98% identisch. (links variieren in der Navileiste)
Fehlereingrenzung, meine Session ID Browserabhängig. (Chrome, auf Safari aber selbe in grün).

Die letzten Tage habe ich alle möglichen Quellen durchforstet (PHP-Self, PHP Handbuch, Peter Kropff durchgepaukt etc...), mein Problemchen habe ich darin nicht wieder gefunden.

Habt Ihr einen Tipp wie ich das lösen kann?

Viele Grüße
AnfaengerZ
Viele Grüße - AnfaengerZ
Benutzeravatar
AnfaengerZ
Mitglied
Beiträge: 127
Registriert: 13.05.2018 07:48
Wohnort: 28000

Re: Session id filtern

Beitrag von AnfaengerZ »

Mein Problem hat sich erstmal erledigt.

Da in diesem Projekt keine größeren Datenmengen in die Sessions geschrieben werden sollen, ich also nicht über die Zeichengrenzen hinweg schwurbeln werde, habe ich erstmal die Trennung der Sessions (browserseitig) via MYSQLI gelöst.

Nach folgender Information:

session_set_save_handler - PHP Handbuch
Viele Grüße - AnfaengerZ
Antworten

Zurück zu „Coding & Technik“