Prüfen, ob Cookies gesetzt werden können.

Das Problem am Garbage Collector von PHP ist, dass dieser nur bei einem gewissen Prozentsatz von Aufrufen ausgefuehrt wird. Das ist standardmaessig nicht sonderlich hoch eingestellt. Da man sich bei Hostern jedoch mit deren Einstellungen abfinden muss hab ich mit session_save_path() den Pfad fuer die Session-Files geaendert damit mein Script (aber niemand ueber den Web-Server!) darauf zugreifen kann. So kann ich dann bei jedem Seitenaufruf die abgelaufenen Sessions loeschen.
 
Nu is meine Frage aber noch nicht ganz beantwortet. Wenn ich einen Prüfschlüssel reinpacke, dass heißt nur Sessiondaten verarbeite, wenn der Schlüssel mit dem des Clients übereinstimmt, wäre dann ein fremder Zugriff auf meine Sessions noch möglich?
 
Wie läuft denn die Authentifizierung mit dem zusätzlichen Prüfschlüssel ab beziehungsweise wie wird dieser Prüfschlüssel weitergegeben? Ist es einfach nur ein Wert eines Cookies oder wie läuft das Ganze?
 
Ich setze eine Var namens Key, wahlweise als Cookie oder in die URL. Kommt jemand und will den Sessioncode knacken, über URL, geht er ja über nen Brute-Force ran. Selbst wenn er den Sessioncode knackt, käme er aber nicht an die Daten, da hierfür noch der Schlüssel, selbiger gespeichert in der Session knacken müsste. Die steigert die Sicherheit exponential, da ich nicht nur x-stellen SessionID, sondern auch noch den Key generieren lassen müsste.

Wahlweise könnte man auch den Prüfkey verschlüsseln, um evt. externe zugriffe zu vermeiden. Heißt ich speicher nur die MD5 Prüfsumme, die ja glaube ich nicht zurückzuverfolgen ist und decodiere mit dem Prüfschlüssel (nicht die Prüfsumme) nochmal komplett den datensatz der Session.

Damit kann ich aber glaube ich auch meinen Hoster ärgern :-)

Die Realisierung stellt für mich kein Problem dar, nur die Frage, ob ich evt irgendwas vergessen habe zu bedenken. Leider finde ich nix darüber, ob jemand auch von außen auf die Session zugreifen kann, etc.
 
Was ist, wenn die Sitzung von einem Fremden wieder aufgenommen wird, wenn beispielsweise jemand in einem Internet-Café vergisst den Verfauf zu löschen und das Fenster zu schließen? Wenn dabei der Prüfschlüssel in der Sitzung/im Cookie/im URL notiert ist, wäre dieser doch sofort wieder parat.
Bei der Entwicklung einer solchen Sicherheitsvorrichtung musst du dir immer den äußersten Fall vorstellen: der Extrenfall, der alles falsch macht, was falsch zu machen ist.
 
Zurück