SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.07.2006, 14:26:01
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
Sessions, Cookies und session.use_trans_sid

Hallo zusammen, ich steh vor folgendem Problem: Ich hab auf einer Seite ne Session, die sowohl mit als auch ohne Cookies funktionieren soll. session.use_trans_sid steht auf true, damit die Links bei Leuten, die keine Cookies akzeptieren, automatisch umgewandelt werden.

Allerdings wird auf diese Weise jetzt beim ersten Besuch der Seite (wenn also noch keine SID vergeben worden ist) an jeden Link die SID angefügt. Ist in gewisser Weise ja auch logisch, PHP versucht, die SID aus nem Cookie auszulesen, findet nix, vergibt also ne neue und nimmt zunächst mal an, dass keine Cookies akzeptiert werden. Demnach werden die Links vorsorglich um die ID erweitert.
Die Frage ist: Kann man dieses Verhalten irgendwie ändern? Gibt es eine Möglichkeit, zu überprüfen, ob von einem Browser Cookies akzeptiert werden oder nicht ohne die Seite neu zu laden? Es gibt die Funktion get_browser(), die kann aber nur prüfen, ob der Browser prinzipiell Cookies unterstützen kann, nicht jedoch, ob sie aktiviert sind. Gibt es also anderweitig irgendwie die Möglichkeit, das rauszukriegen? Oder kann man dem Sessionmanager irgendwie abgewöhnen, sich so zu verhalten? Es wäre halt schön, wenn die Session-ID niemals auftaucht, wenn Cookies unterstützt werden.

Ich hab mir auch schon überlegt, dass man vielleicht irgendwie überprüfen könnte, ob der Besucher von außerhalb kommt oder ob er einem internen Link gefolgt ist. Da fällt mir aber auch keine wirklich verlässliche Möglichkeit ein, bei der insbesondere nicht die Gefahr läuft, Leute von der Sessionvergabe komplett auszuschließen...

Irgendwelche Vorschläge?
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #2  
Alt 12.07.2006, 15:36:17
Benutzerbild von pRoPh3t
pRoPh3t pRoPh3t ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Bergneustadt - NRW
Alter: 37
Beiträge: 26
AW: Sessions, Cookies und session.use_trans_sid

1. Versuchen ein cookie zu setzen
2. werte auslesen
3. wenn werte gleich: cookies erlaubt

soweit ich weis werden cookies im http header verschickt und somit kann man erst nach einem seitenaufbau im nächsten request überprüfen, ob cookies erlaubt sind oder nicht..

denke das es deshalb nicht ohne erneuten seitenaufbau geht, aber kannst du nicht eine weiterleitung beim betreten der seite einrichten?
seite betreten -> cookie setzen -> zeitverzögerung->cookie lesen seite neu laden
im prinzip wie es nach einem forum eintrag auf dieser seite gemacht wird...

mfg

Geändert von pRoPh3t (12.07.2006 um 15:36:36 Uhr)
Mit Zitat antworten
  #3  
Alt 12.07.2006, 15:36:21
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Sessions, Cookies und session.use_trans_sid

Zitat:
Zitat von Serp
Irgendwelche Vorschläge?
Schalte session.use_trans_sid aus und verwende die Konstante SID. Dann hast Du die Kontrolle darüber, wie die Links auszusehen haben.
Mit Zitat antworten
  #4  
Alt 12.07.2006, 19:37:50
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Sessions, Cookies und session.use_trans_sid

Genau das ist leider nicht möglich, sonst hätt ich das ja so gemacht... Und auch da würde sich ja das gleiche Problem ergeben, da dann beim ersten Seitenaufruf die Konstante SID nicht leer ist. Und prüfe ich, ob sie leer ist oder nicht, und häng sie nur dann an, wenn sie leer ist, dann... Muss ich noch weiterschreiben? ;)
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #5  
Alt 12.07.2006, 21:35:02
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Sessions, Cookies und session.use_trans_sid

Zitat:
Zitat von Serp
Muss ich noch weiterschreiben? ;)
Guck da mal nach:
http://test.php-help.info/session-1/ (Quelltext wird angezeigt)
Mit Zitat antworten
  #6  
Alt 13.07.2006, 20:03:22
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Sessions, Cookies und session.use_trans_sid

Das ist n schönes Script, ohne Frage. Aber ich fürchte, es löst mein Problem nicht...

In den Moment, in dem die Session das erste Mal gestartet wird, wird SID ja auf die aktuelle Session-ID gesetzt. Unabhängig davon, ob der User Cookies aktiviert hat oder nicht, weil PHP kein Cookie auslesen konnte - es kann ja noch nicht existieren, ohne Session.
Auf jeder Folgeseite existiert das Cookie dann, und SID bleibt leer.

Was ich will ist, dass SID beim ersten Start der Session nicht mit der ID gefüllt wird, wenn Cookies gesetzt werden können. Aber genau das geht so weit ich das sehe nicht, oder?


(Oder es steht doch irgendwo in dem Script, und ich bin zu vernagelt, das zu sehen...)
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #7  
Alt 13.07.2006, 20:49:06
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Sessions, Cookies und session.use_trans_sid

Ob ein Client Cookies akzeptiert, lässt sich zuverlässig nur feststellen, in dem du ihm einen Set-Cookie-Header sendest und der Client anschließend eine weitere Anfrage an den Server sendet. Schickt der Client den erwarteten Cookie-Header mit, hat er dein Cookie akzeptiert (es sei denn er sendet irgendwelche kuriosen gefakten Cookies), fehlt der Header, wurde der Keks wohl nicht akzeptiert.
Aber dafür ist wie gesagt ein Reload der Seite (und somit ein erneuter Request) erforderlich.
Mit Zitat antworten
  #8  
Alt 16.07.2006, 05:44:55
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Sessions, Cookies und session.use_trans_sid

Zitat:
Zitat von Serp
Das ist n schönes Script, ohne Frage. Aber ich fürchte, es löst mein Problem nicht...
Einfach mal testen. Einmal mit Keks, Kekse löschen und einmal ohne Keks.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Sessionweiterleitung mittels header() in Verbindung mit Cookies zUPwire PHP für Fortgeschrittene und Experten 14 16.03.2006 18:24:03
Sessions mit UND ohne cookies Traenenblut PHP Grundlagen 7 26.06.2005 22:01:19
sessions funktionieren nur wenn man cookies blockt no-gi PHP für Fortgeschrittene und Experten 1 11.10.2003 08:38:49
cookies deaktiviert / sessions Gweilo PHP für Fortgeschrittene und Experten 5 12.12.2002 14:12:52
Cookies -> ich wusste, warum ich sie hasse! Matt PHP Grundlagen 2 30.11.2002 16:04:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:45:52 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt