|
||||
![]()
Hallo miteinander,
nur eine kleine Frage. Warum erzeugen ein Apache oder IIS ein Cookie im Browser, wenn man mit PHP ein "session_start()" aufruft? Apache und IIS legen im "temp/tmp" ebenfalls ein "sess_..." ab, warum muss der Client dann auch ein Cookie mit der Session ID bekommen? Irgendwie finde ich keine Antwort, warum das so ist. Habe ihr eine plausible Erklärung für dieses Verhalten?
__________________
Personal stuff |
Sponsored Links |
|
|||
![]()
HTTP ist ein zustandsloses Protokoll.
- Zustandslosigkeit Würde kein Cookie mit einer Session-ID immerzu mit übertragen, könnte der Server nicht zuordnen, welche Sessiondaten zu einer Anfrage gehören. |
Sponsored Links |
|
||||
![]()
Sorry für die späte Reaktion, bin voll im Weihnachtsstress
![]() Danke euch beiden, dass Hintergrundwissen hat mir gefehlt. Nun stellt sich aber die Frage, ob man eine Session per Default laufen lässt oder erst bei bedarf? Beispiel: Login-System und Backend Administration eines Blog/CMS ist Session Handling ein "must have". Sollte aber alles andere ohne Session laufen? Wobei sich hier auch wieder die Frage stellt, wie viele Internet Benutzer ein (PHP Session ID)Cookie auf "Fragen" oder "deaktiviert" gesetzt haben?
__________________
Personal stuff |
|
||||
![]()
Wenn du die Session immer startest (session_start), dann wird die Session fortgesetzt, sofern eine gültige Session-ID vom Client geschickt wird. Wird keine gültige Session-ID geschickt, so wird eine neue Session gestartet.
Wird ein Session-Cookie nicht akzeptiert, so wird einfach bei jedem neuen Request eine neue Session gestartet, so einfach ist das. ![]() Die Frage ist halt, ob du den "Overhead" einer Session haben möchtest, wenn es nicht unbedingt erforderlich ist. Wenn du zwischen session-basierten Requests und session-losen Requests unterscheidest, musst du darauf achten, dass du "session_start" entsprechend nur bei den Requests aufrufst, die unter einer Session laufen sollen. Ich mache es mir da einfach und starte einfach immer eine Session. Man kann ja auch abgesehen von der Authentifizierung nützliche Daten in einer Session speichern (z.B. Suchbegriffe, Sortierungen, Warenkorb, etc.). Akzeptiert jmd. das Cookie nicht, dann kann er halt von diesen Features keinen Gebrauch machen, aber ansonsten funktioniert trotzdem alles. Die Frage ist, wann soll der User darüber informiert werden, dass das eine oder andere evtl. nur mit akzeptiertem Cookie funktioniert. Ich mache es mir da einfach und setze einfach voraus, dass das Session-Cookie akzeptiert wird, wenn nicht, dann ist man selber schuld. ![]() |
|
||||
![]()
Die EU sagt bei Cookies: So wenig wie möglich, so viele wie nötig und wenn es sich nicht um eine Funktion wie einen Warenkorb oder eine Anmeldung handelt, die ohne Kekse nicht zu realsieren sind, dann kann man sie setzen.
Informieren muss man immer darüber, in allen anderen Fällen bevo de Keks gesetzt wird. Hier eine Quelle: heise online - Datenschützer erläutern rechtskonformen Cookie-Einsatz
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
|
||||
![]() Zitat:
Wie setzt du das um? Ist ein Keks für Suchergebnisse gerechtfertigt?
__________________
Personal stuff |
|
||||
![]()
Ich denke eher nicht, ich hab's bisher lediglich aus Bequemlichkeit gemacht.
![]() Nach Praktikant's Einwand überlege ich mir gerade allerdings wie ich das bei mir einbaue. ![]() Nur kurz zur Info: Wenn du die Session wirklich zerstören möchtest, dann reicht ein simples PHP-Code:
PHP-Code:
Wenn das Cookie gelöscht wird/werden kann, dann kann man einfach prüfen, ob das Cookie vom Client gesendet wird und ggfs. die Session automatisch wieder aufnehmen. Ist die Session nicht aktiv, so kann ein Link (oder so) angezeigt werden, wo über die Features informiert wird und ggfs. die Session vom Benutzer manuell gestartet werden kann. Gefällt mir ganz gut, ich glaub' ich bau' das so ein. ![]() |
|
|||
![]() Zitat:
Zitat:
|
Sponsored Links |
|
||||
![]() Zitat:
Zitat:
In Zukunft werde ich in solchen Fällen aber wohl nicht automatisch eine Session starten, sondern je nach Session-Status einen Hinweistext anzeigen, der kurz erläutert, dass eine Session gestartet werden kann und welchen Nutzen man davon hat. |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 19:09 |
SESSION / COOKIE - Konflikte | poppihasi | Serveradministration und serverseitige Scripte | 1 | 23.12.2007 14:29 |
IIS und Apache | alaan | Serveradministration und serverseitige Scripte | 4 | 31.03.2007 17:15 |
apache gibt query-variablen nicht an php weiter | docstevie | Serveradministration und serverseitige Scripte | 2 | 31.07.2005 02:16 |
Wamp 5 (lokaler Apache Webserver) mit PHP 5 Beta 4 | hemfrie | Offtopic | 0 | 27.02.2004 11:05 |