Zum Inhalt springen

Session IDs und dennoch Cookies verwenden


Empfohlene Beiträge

hi leute ich hab eine frame seite in der 2 frames (php dateien) geladen werden...

die linke frame-php seite verwendet cookies um zu speichern welcher benutzer gerade angemeldet ist.

gleichzeitig müßte das linke frame aber auch ncoh die scrollposition speichern (damit im falle einer aktualisierung, wieder zu der letzten Scrollposition gescrollt werden kann)

wen nich jetzt in einer javascript funktion schreibe

"document.cookie=3"

alert(document.cookie);

dann krieg ich automatisch folgende ausgabe

0; PHPSESSID=a69c43fb646e2ad0ba65e62c8d454401

das problem ist, dass php beim aktuelisieren der seite manchmal nicht mehr checkt dass noch ein anderer wert in dem cookie gespeichert ist, und plötzlich benutzt er eine andere SessionID und ich krieg eine fehlermeldung von meinem script dass kein benutzer angemeldet ist...

hattet ihr das problem schon einmal? dass ihr trotz der Session ID noch einen anderen wert als Cookie speichern wolltet?

hat das bei euch auch probleme gegeben??

das witzig ist, unter

Apache(Windows) udn php läuft das system einwandfrei

aber arbeite ich im praktikum (Apache unter Linux) flieg ich aus dem system sobald ich noch was zustätzliches in das Cookie schreib :(

habt ihr ne lösung?

MFG SwordMaster

Link zu diesem Kommentar
Auf anderen Seiten teilen

welche einstellung muß ich da genau machen (in windows hab ich folgende einstellungen.... (da funktioniert es)

aber im linux sind es andere einstellungen.... aber wenn du mir sagen könntest welche einstellung von denen das ist, wüßt ich im linux was ich ändern muß...

[session]

; Handler used to store/retrieve data.

session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path

; where data files are stored.

session.save_path = C:\PHP\sessiondata ; argument passed to save_handler

; Whether to use cookies.

session.use_cookies = 1

; Name of the session (used as cookie name).

session.name = PHPSESSID

; Initialize session on request startup.

session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.

session.cookie_lifetime = 0

; The path for which the cookie is valid.

session.cookie_path = /

; The domain for which the cookie is valid.

session.cookie_domain =

; Handler used to serialize data. php is the standard serializer of PHP.

session.serialize_handler = php

; Percentual probability that the 'garbage collection' process is started

; on every session initialization.

session.gc_probability = 1

; After this number of seconds, stored data will be seen as 'garbage' and

; cleaned up by the garbage collection process.

session.gc_maxlifetime = 1440

; Check HTTP Referer to invalidate externally stored URLs containing ids.

session.referer_check =

; How many bytes to read from the file.

session.entropy_length = 0

; Specified here to create the session id.

session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public} to determine HTTP caching aspects.

session.cache_limiter = nocache

; Document expires after n minutes.

session.cache_expire = 180

; use transient sid support if enabled by compiling with --enable-trans-sid.

session.use_trans_sid = 1

Thx für deine hilfe

SwordMaster

Link zu diesem Kommentar
Auf anderen Seiten teilen

; Whether to use cookies.

session.use_cookies = 1

das ist ja bei dir schon aktiviert!

also musst du händisch keine cookies mehr setzen!!

beim session_start() holt der sich automatisch die session id vom client und du kannst dann deine daten alle in die session reinschreiben anstatt in cookies


//z.B.
$_SESSION["name"] = "testname";
[/PHP]

btw:

für was braucht du im Javascript deine PHP-Session id?

falls du sie halt doch brauchst kannst du sie auch auf jede seite folgendermaßen legen:

[PHP]
echo "<input type='hidden' name='". session_name() ."' value='". session_id() ."'>"

so kannst du dann auch sicher gehen falls der client keine cookies akzeptiert, dass du dann die session id am start dann mit einer post variable herausholst und händisch an die funktion übergibst!

$session_id = $_POST[session_name()];

Link zu diesem Kommentar
Auf anderen Seiten teilen

da hast du mich leider falsch verstanden.

mein javascript braucht die Session ID nicht...

aber:

die Seite die ich erzeuge enthält JavaScript funktionen...

und eine dieser funktionen muß etwas in ein Cookie schreiben => in javascript

document.cookie="irgend ein text"

aber anscheinend ist die SessionID auch schon in DIESEM cookie gespeichert den nwenn ich in meine javascript funktion schreibe:

document.cookie="irgend ein text"

alert(document.cookie);

müßte ich "irgend ein text" als ausgabe bekommen:

aber ich bekomm

"irgend ein text; PHPSESSID=0a670a469ce1953eb08e7d0d74fa549d"

als ausgabe....

und wenn ich dann die seite "Aktualisiere"

verwendet die seite plötzlich eine ganz andere Session :((

und weiß somit plötzlich nicht mehr wer eingeloggt ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

warum möchtest du texte in ein cookie speichern?! das macht deine seite sehr benutzer abhängig (was sicherheitseinstellungen angeht!).

schreib doch liebe deine text mit javascript in ein

<input type='hidden'> und schreib den value dann beim absenden der seite in deine session mit rein!

Gruß

kills

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...