Session & Proxy Problem

KMX-Robin

Erfahrenes Mitglied
Hallo,

ich habe eine Community mit Sessions aufgebaut. Funktioniert alles bestens. Wenn jetzt das Community-Mitglied die URL-Zeile kopiert mit der PHPSESSID und diese z.b. in einem Forum postet und ein anderer klickt auf diese Session, ist er als das Community-Mitglied eingeloggt.

So sollte bzw darf es ja nicht sein ... ;) Ich hab als Lösung nun in eine session var die IPgespeichert und prüfe bei jedem seitenaufruf ob die session von dem rechner aufgerufen wurde der sie auch erzeugt hat .. wenn nicht kommt eine fehlermeldung.

Soweit so gut - nur wenn das Community-Mitglied ein Proxy benutzt funktionier die Lösung net ... weiß jemand eventuell eine Lösung ? Kann auch sein das ich gerade auf dem Schlauch stehe :)

Gruß robin
 
Prüfe doch einfach noch einige weitere Umgebungsvariablen des Users und kombiniere diese, dass ein Zugriff nur erfolgt wenn alle gleich sind. Via getenv() kommst du dran. Oder gibts da in der neuen Syntax jetzt auch schon eine array-variable für ? Naja auf jedenfall könntest du folgendes überprüfen:

ALLUSERSPROFILE
APPDATA
CLIENTNAME
CommonProgramFiles
COMPUTERNAME
ComSpec
HOMEDRIVE
HOMEPATH
LOGONSERVER
NUMBER_OF_PROCESSORS
OS
Path
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
ProgramFiles
PROMPT
SESSIONNAME
SystemDrive
SystemRoot
TEMP
TMP
USERDOMAIN
USERNAME
USERPROFILE
windir
AP_PARENT_PID

Auf die Sachen bin ich gekommen, weil man ja die IP des Users auch über getenv bekommen kann und dann dachte ich mir muss es doch irgendwo eine Liste mit möglichen Sachen geben. Das ist jetzt einfach was ich via phpinfo() unter Environement zurückgeliefert bekam. Natürlich ohne meine Werte. Die hab ich gelöscht ;). Einiges davon hab ich auch schon ausprobiert und man bekommt recht brauchbare ergebnisse.
Jetzt stellt sich nur noch die Frage ob im Falle eines Proxys auch bei diesen Abfragen die Proxydaten geliefert werden ?
 
Hi,

danke für Deine Idee... jedoch haben alle Variablen keine möglichen erkennungswerte abgeliefert die sicher sein könnte. ;(

*schnief

kann man die MAC ID (netzwerkkarte) irgendwie herausfinden von einem rechner ... ?

Rob
 
Öhm ginge eventuell, aber wenn du das Problem hast, dass du nur an die IP vom Proxy kommst, würdest du auch nur an die MAC ID vom Proxy kommen, hilft also auch nicht weiter glaub ich.

Mal ne ganz andere Sache. Muss die Session ID denn per URL übergeben werden ? In den neuen PHP Versionen geschieht das doch je nach Einstellung in der PHP-Config sowieso automatisch, dann hast du das Problem nicht mehr.
 
ja .. das hast du recht @ proxy ip .. hab daran garnicht gedacht :(

mm ... also soweit ich das mitbekommen habe kann man in der php config einstellen ob die sessin id in einem cookie gespeichert werden soll oder nicht - wenn nicht dann wird sie zwangsweise per url gegeben um den besucher eindeutig zu identifizieren.

Gruß Rob
 
Mich interessiert trotzdem brennend, wie man unter PHP eine MAC ID ermittelt - egal ob das nun die vom Proxy ist.

Wie gehts? Weiß es jemand?
 
Zurück