SESSION eindeutige Identifikation, wie löst ihr das?

R00Ki3

Erfahrenes Mitglied
So weit ich weiß gibt es zwei möglichkeiten Session´s zu behandeln.
1. via Cookie der automatisch gesetzt wird.
Dann sieht das ganze so aus:
PHP:
session_start();
2. via SessionId wo der SessionID wert via $_GET oder <input type="hidden" ...> mit geschleift wird.

Aufgrund von SEO habe ich Fall 1 bis jetzt immer genutzt, bisher gab es auch eher keine Probleme damit.
Allerdings hat sich das in der letzten Zeit etwas geändert und es gibt immer mehr user die Keinen Cookie akzeptieren.

Ich hatte schon dadran gedacht SESSION Werte über die IP der user zu kontrollieren.
Jedoch gibt es dort fälle wie z.b. AOL wo öfters mal die IP des USER´s beim surfen sich ändert.
Als nächstes wollte ich anhand der Daten Betriebssystem, BrowserVersion usw... die Person zu identifizieren, aber irgendwie erscheint mir das ganze nicht als EinmaligerWert.

Mich würde einfach mal interressieren, wie ihr dieses Problem gelöst habt (eine Weitere Lösung existiert).
THNX vorab.
 
Guten Morgen,

hab mir die Frage durch den Kopf gehen lassen. Eine Möglichkeit die mir einfällt wäre eine zum Teil auf Ajax basierende Lösung. Der Haupteil der Seite bleibt fest stehen und der Content nachgeladen. So könntest du am Anfang beim Aufruf eine "SessionID" vergeben, ohne Reload der Page bleibt die ID dann gleich. Der User bermerkt es nicht. Nach Reload oder Browser schließen, wäre die Session dann flöten. Einziges Vorraussetzung wäre Clientseitig lediglich ein aktiviertes JavaScript.
 
Ist nen Lösungsansatz mehr...

Problem nur JavaScript notwendig...
Ich würde mal stark davon ausgehen die Personen die Javascript deaktiviert haben, haben zum größten teil auch Cookies deaktiviert.
Ein weiteres Problem ist dann eine URL und Suchmaschinen.

THNX für interne dinge und Community sicher sehr nützlich.
 
Prinzipiell reicht die Sitzungs-ID alleine aus, da die 128 Bit mit MD5 beziehungsweise 160 Bit mit SHA-1 als zugrundeliegender Algorithmus Sitzungs-IDs mit ausreichender Anzahl möglicher Kombinationen liefert. Und auch die Zufälligkeit sollte durch die native Implementation gegeben sein.

Wenn du dich jedoch gegen Angriffe auf Sitzungen (Session Hijacking, Session Fixation, etc.) schützen möchtest, ist es sinnvoll noch weitere Prüfungen vorzunehmen wie etwa die Sitzung nicht nur durch eine Sitzungs-ID sondern zusätzlich durch einen Fingerabdruck, mit dem die Identität des Webbrowser verifiziert werden kann. Allgemein gelten dabei die Header-Felder „User-Agent“, „Accept-Charset“ und „Accept-Language“ als zuverlässige Werte, da sie sich nur selten ändern. Die „Accept“- und „Accept-Encoding“-Feldwerte hängen bei manchen Webbrowsern vom angeforderten URL (etwa Dateiendung) ab und sollte mit Vorsicht verwendet werden.
 
OK das Thema Sicherheit wäre damit wohl geklärt...
Aber wie die Sitzungs-ID Transportieren, wenn COOKIES deaktiviert und ungern über URL wegen SEO.

? Obwohl eher die Frage ist, gibt es überhaupt noch möglichkeiten...

Oder soviel Userdaten zu einem Key zusammensuchen, daß daraus ein Einmaliger Wert entsteht der mit den Sessionwerten verknüpft werden kann, die in der DB abgelegt sind.
 
Ist nen Lösungsansatz mehr...

Problem nur JavaScript notwendig...
Ich würde mal stark davon ausgehen die Personen die Javascript deaktiviert haben, haben zum größten teil auch Cookies deaktiviert.
Ein weiteres Problem ist dann eine URL und Suchmaschinen.

THNX für interne dinge und Community sicher sehr nützlich.

Das ne Grundsatzdiskusion, wie abwärtskompatibel muss ich eine Webseite machen um sie in allen Browsern und jeglicher Konfiguration laufen lassen zu können. Ab nem gewissen Punkt drehst dich im Kreis. Manche Dinge musst du für Gewisse Sachen halt einfach als gegeben vorraussetzen damit sie funktionieren. Wenn ich ein Programm unter .NET entwickle muss ich auch davon ausgehen das der User es installiert / installiert hat oder das Programm nicht nutzen kann. Du sprichst von Sitzungsdaten, welche wären das denn wenn du ohne JS arbeiten musst/willst? nur die PHP Variablen und du hast selber schon festgestellt das weder IP noch BrowserHeader wirklich eineindeutig sind. Zumal das auch nix festes ist. In dem Fall gilt ganz klar, Traue keinen Informationen außer denen die von dir kommen. Also, wer seinen Browser so zurammelt das gar keine Informationen kommen wird dir auch sonst keine alternativen Möglichkeiten lassen sowas wie Sitzungsdaten zu transportieren.
Zumal ich nicht weiß warum jemand etwas gegen eine seriöse Verwendung von Cookies haben sollte. Meiner Meinung nach bietet sich keine andere Möglichkeit, die du nicht mit "kann ich im Browser ausschalten" kontern könntest. Und spätestens jetzt frag ich mich nach dem Sinn deines Posts?
 
Du fragst nach dem Sinn des Posts...
OK ich erläutere es dir mal.
Wir sind alle nur Menschen und keiner ist Gott und Allmächtig und weiß alles.
Ich habe nachgefragt, weil womöglich andere Lösungen möglich sind, wo man von Barrierefreiheit sprechen kann. Wo keine Anforderungen gestellt werden.

Ergebniss irgendwelche Eingrenzungen muß ich halt akzeptieren SessionID via md5 verschlüsselt über die URL oder COOKIE ist Grundvoraussetzung.
Das Ergebniss entnehme ich mal den Antworten hier und meinem eigenen Wissen.

Sorry falls du meine Antwort falsch verstanden hast.
 
War nicht meine Absicht dich in ein falsches Licht zurück. Es gibt nur einfach Sachen die müssen gegeben sein um zu funktionieren und eine totale Abkapslung des Users/Surfers ist so ein Fall. Es gibt nunmal (ob immer Sinnvoll lass ich im Raum stehen) die Möglichkeit sein Webaufenthalt so anonym wie nur irgends möglich zu gestalten. Genannt sei hierbei zum Beispiel JAP + das nötige angelesene Wissen ängstlicher User und schon steht man als WebDesigner/Programmier auf dem Schlauch. In solchen Fällen hilft nichts mehr. Also lieber gleich die eine klare MustHave Linie ziehen und sagen: "wollt ihr den Komfort einer UserAnmeldung? Dann Bitte Cookies aktiveren". Ansonsten schaufelst du dir vom Arbeitsaufwand dein eigenes Grab.
War also nicht böse gemeint. Wenn dann muss ich mich wohl entschuldigen :)
 
Hm, ich sehe das fast genauso ...
ich arbeite selbst gerade an einem grösseren Portal, und gehe ganz frech davon aus, dass der User javascript und Cookies aktiv hat.wenn nicht,muss er eben auf zig inhalte / nette features verzichten. Viel basiert bei mir auf AJAX, da ja Transfer immer noch nicht so ganz billig ist und man dann noch mit Caching auf dem Server und AJAX zB gut Ressis spart. Schlussum: Keine Cookies, kein JS = Kein Spass. Ich bin aber so fair und teile das dem User mit - was er dann draus macht,muss er selbst sehen. Ich denke, Javascript ist weit genug verbreitet,und wenn der Surfer Paranoia hat,soll er mal lieber nen Buch nehmen und die kiste ausknipsen :D
 
Tja wie man meiner Frage und Hinterfragen wohl erkennen kann gehe ich für die Frontenduser meist den Weg das die meisten Problemlos surfen können.

Backend ist bei mir was anderes AJAX erleichtert den User meißt Aufgaben oder sorgt zumindest für Zeitersparnisse.

Als weitere Lösung habe ich FlashCookies gefunden.
FlashCookies werden nicht in dem Temporäry Internetfiles oder wie auch immer Verzeichniss abgelegt sondern bei Anwenderdaten von Macromedia.
Also wer COOKIES deaktiviert, deaktiviert nicht automatisch die FlashCookies.

Nur mal nebenbei das ganze ist und bleibt ein Kreislauf, Flash muß auch installiert sein.
 
Zurück