php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.06.2009, 20:53  
ans
Neuer Benutzer
 
Registriert seit: 22.06.2009
Beiträge: 2
PHP-Kenntnisse:
Anfänger
ans befindet sich auf einem aufstrebenden Ast
Standard Problem mit Authentifizierung (Firefox-Problem?)

Hallo zusammen,

ich betreue ein Web-Plattform und wir haben seit einiger Zeit Schwierigkeiten mit der Authentifizierung von Firefox-Nutzern. Das Problem zeigt sich dadurch, dass User, die sich am System anmelden und auf einen Link des geschützten Bereichs klicken, sofort wieder ausgeloggt werden. Für die Authentifikation wird das Auth-Paket von PEAR eingesetzt. Im Laufe der 3er Versionen des Firefox hat sich die Situation weiter zugespitzt. Nachdem anfangs nach dem Löschen von Cache und Cookies im Browser wieder eine "normale" Anmeldung am System möglich war, gibt es nun einige Nutzer bei denen diese Strategie nicht mehr hilft.

Mich würde interessieren, ob hier jemand ähnliche Erfahrungen gemacht hat oder mir vielleicht eine Anregung für die Fehlersuche geben könnte. Im folgenden sind die Header zweier Login-Versuche aufgeführt. Merkwürdig finde ich, dass dem Cookie beim ersten Versuch scheinbar zwei Session-IDs zugeordnet sind. Wie kann es dazu kommen?


Zunächst die Eckdaten des Servers:

Windows Server 2008
Apache 2.2.11 mit OpenSSL 0.9.8i
PHP 5.2.9-1
PEAR Auth 1.6.1
PostgreSQL 8.3


Mit LiveHTTPHeaders 0.15 und Firefox 3.0.11 aufgezeichnete Header:

1. Anmeldung am System mit Rauswurf nach Klick auf einen Link des geschützten Bereichs:

Code:
https://www.testurl.de/secimage.php?sessionType=Student

GET /secimage.php?sessionType=Student HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/index.php?action=login
Cookie: moveonline_cooperations=4304e99d60ba33d2caca5fcbe13f0490; PHPSESSID=a1823f4b50f1eedc364e0d5581eb5a65; PHPSESSID=4un3jccig2nkhdjfsd4omojbqvdo9ioe; authchallenge=777f6d289cbf101ecd1e29f47e653868

HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:22:10 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1369
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: image/jpeg
----------------------------------------------------------
https://www.testurl.de/index.php

POST /index.php HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/index.php?action=login
Cookie: moveonline_cooperations=4304e99d60ba33d2caca5fcbe13f0490; PHPSESSID=a1823f4b50f1eedc364e0d5581eb5a65; PHPSESSID=4un3jccig2nkhdjfsd4omojbqvdo9ioe; authchallenge=777f6d289cbf101ecd1e29f47e653868
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
username=USER&password=PASSWORD&securityImage.x=0&securityImage.y=0&secImageRepeat=29811
HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:22:18 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=88br8djd21b5g57e1bkie1nu2betpcbb; path=/
Set-Cookie: authchallenge=2facdfff61d1c1ac104fae715b1d1150; path=/
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
https://www.testurl.de/listpruefungen.php?searchstr=

GET /listpruefungen.php?searchstr= HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/index.php
Cookie: moveonline_cooperations=4304e99d60ba33d2caca5fcbe13f0490; PHPSESSID=a1823f4b50f1eedc364e0d5581eb5a65; PHPSESSID=88br8djd21b5g57e1bkie1nu2betpcbb; authchallenge=2facdfff61d1c1ac104fae715b1d1150

HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:22:20 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------

2. Anmeldung am System ohne Rauswurf (nach Löschen von Cache und Cookies im Browser):

Code:
https://www.testurl.de/secimage.php?sessionType=Student

GET /secimage.php?sessionType=Student HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/
Cookie: PHPSESSID=mprbd67rkbkutbfdamcrp0pfaddcr4an

HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:44:56 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1363
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: image/jpeg
----------------------------------------------------------
https://www.testurl.de/index.php

POST /index.php HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/
Cookie: PHPSESSID=mprbd67rkbkutbfdamcrp0pfaddcr4an
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
username=USER&password=PASSWORD&securityImage.x=0&securityImage.y=0&secImageRepeat=20440
HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:45:05 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=n2vffovvkq190sfn24mo6gdu59ccfkn4; path=/
Set-Cookie: authchallenge=a76b6d132882415dbde2ff450732bc4e; path=/
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
https://www.testurl.de/listpruefungen.php?searchstr=

GET /listpruefungen.php?searchstr= HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/index.php
Cookie: PHPSESSID=n2vffovvkq190sfn24mo6gdu59ccfkn4; authchallenge=a76b6d132882415dbde2ff450732bc4e

HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:45:06 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
X-Powered-By: PHP/5.2.9-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
https://www.testurl.de/images/info.gif

GET /images/info.gif HTTP/1.1
Host: www.testurl.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.testurl.de/listpruefungen.php?searchstr=
Cookie: PHPSESSID=n2vffovvkq190sfn24mo6gdu59ccfkn4; authchallenge=a76b6d132882415dbde2ff450732bc4e

HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 16:45:07 GMT
Server: Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 SVN/1.6.2 PHP/5.2.9-1
Last-Modified: Mon, 08 Jun 2009 12:21:05 GMT
Etag: "8000000004525-58-46bd546b8dba1"
Accept-Ranges: bytes
Content-Length: 88
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: image/gif
----------------------------------------------------------
ans ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.06.2009, 23:49  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.237
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Ich würde jetzt raten. Aber ist das vielleicht ein Problem mit den Cookie-URLs? Eventuell hats also deswegen zu Recht zweimal das Cookie, weil dort (woher auch immer) einmal mit www.foo.de/bla und einmal mit www.foo.de ein Cookie gesendet wird, was sich nicht gegenseitig überschreibt?
Warum hat IE das Problem nicht? Weil IE etwas unsauber arbeitet womöglich. Oder weil Firefox dort unsauber ist. Oder schlichtweg sendet IE die zufällig in einer anderen Reihenfolde, so dass die "richtige" der beiden zieht. Merke: Wenn PHP zweimal auf die gleiche Variable stößt als Cookie, Get oder Post und wenn im Variablennamen nicht "[]" vorkommt, dann wird kein Array gebildet sondern wortlos überschrieben.

Wie dem auch sei. Interessant wäre vor allem, was an einem frischen Client wann als Cookie gesendet wird. So du das also nachstellen kannst, Firebug u.ä. installieren und schauen, wann welche Cookie mit welcher URl gesendet wird.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online  
Alt 23.06.2009, 01:44  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Kannst du feststellen woher die doppelten PHPSESSID's kommen? Existieren beide? Welche ist aelter?
Benutzt ihr Flash-Cookies? Was genau heisst Probleme mit dem Firefox? Kannst du uns eine Zugang geben zum Reproduzieren?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 24.06.2009, 21:40  
ans
Neuer Benutzer
 
Registriert seit: 22.06.2009
Beiträge: 2
PHP-Kenntnisse:
Anfänger
ans befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

erst einmal vielen Dank für eure Rückmeldung. Leider kann ich die Rauswürfe, nachdem ich für die Header-Aufzeichnungen Cache und Cookies gelöscht habe, nicht mehr reproduzieren. Das ist ja genau das Tückische an der Sache. Mit frischem Cache und Cookies kann man wieder ganz normal arbeiten. Sogar über mehrere Logins hinweg. Und irgendwann kommt es dann wieder zu den beschriebenen Rauswürfen. Was mich zu der Annahme führt, dass es sich prinzipiell nicht um ein Programmier-Problem im "klassischen" Sinne handelt, sondern vielmehr mit Timing oder ähnlichem zu tun hat.

Gibt es eigentlich eine Möglichkeit, mit der ich einem Browser beim Aufruf einer Seite sagen kann, dass er den Cookie für diese Seite verwerfen soll? Der Cookie wird bei uns erst nach dem Login gesetzt. Demnach müsste es doch reichen den alten Cookie auf der Startseite platt zu machen, um das Problem mit den doppelten Session-IDs zu umgehen, oder? Einen Fehler bei der Session-Verwaltung würde ich fast ausschließen, da diese ja wie bereits erwähnt von Auth aus der PEAR-Sammlung übernommen wird.

Zu euren Fragen: Wir verwenden keine Flash-Cookies. Und einen Test-Zugang kann ich momentan leider nicht geben. Das ist der Sache natürlich nicht gerade förderlich, aber ich muss das hier auf diesem abstrakten Level machen. Die restlichen Fragen werde ich versuchen abzuklären, sobald ich das Problem wieder reproduzieren kann.

Grüße

P.S.: Mit Firefox-Problem meine ich, dass wir (momentan) keine Probleme mit anderen Browsern, wie bspw. Internet Explorer, haben.

Geändert von ans (24.06.2009 um 22:13 Uhr).
ans ist offline  
Alt 24.06.2009, 22:11  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

schau dir mal die add ons an

https://addons.mozilla.org/de/firefox/addon/575
live http headers

ansonsten system in frisches verzeichnis kopieren, dort step by step breakpoints setzen und durchwusteln.


Viel Erfolg

edit:

schneidest ja schon die headers mit.. sry nur den letzen post gesehen
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog

Geändert von rudygotya (24.06.2009 um 22:19 Uhr).
rudygotya ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
Problem mit Iexplorer und Firefox Bas3008 HTML, Usability und Barrierefreiheit 5 15.09.2008 08:36
class.GMapper --> Mit Firefox Problem bei Ajax Plague PHP Tipps 2008 3 08.07.2008 10:31
probleme bei internet explorer und firefox igron PHP Tipps 2008 0 12.05.2008 17:27
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
CSS Problem mit IE hans.karl2 HTML, Usability und Barrierefreiheit 3 25.04.2007 20:18
Box Modell Problem zwischen Internet Explorer 6 und FireFox DonTermi HTML, Usability und Barrierefreiheit 5 07.12.2006 16:30
templates oder css mit firefox rbs_phoenix HTML, Usability und Barrierefreiheit 1 30.10.2006 15:24
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem IE - Firefox Diego1978 PHP Tipps 2005-2 3 10.08.2005 00:01
Problem mit PFad Firefox - Verzeichnis löschen PHP Tipps 2005-2 0 19.07.2005 16:05
Falsche Darstellung in Firefox und Problem mit Div größe HTML, Usability und Barrierefreiheit 7 14.07.2005 16:40
getElementById bei firefox problem Ohrwurm83 HTML, Usability und Barrierefreiheit 6 26.05.2005 23:51
Linebreak Problem mit Firefox 1.0.4 HTML, Usability und Barrierefreiheit 3 19.05.2005 15:11
Problem seit benutzung von Firefox?? pit62 HTML, Usability und Barrierefreiheit 5 03.09.2004 22:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
firefox keep alive problem, authentifizierung firefox, firefox connection: keep-alive server: apache, http://www.php.de/php-einsteiger/56334-problem-mit-authentifizierung-firefox-problem.html, firefox authentifizierung, firefox authentifizierung geht nicht, authentifizierung firefox problem, phpsessid firefox, \connection: keep-alive server: apache\, connection: keep-alive server: apache problem firefox, connection: keep-alive server: apache, firefox nt authentifizierung, firefox authentifizierung löschen, apache/2.2.11 (win32) dav/2 mod_ssl/2.2.11 openssl/0.9.8i php/5.2.9, authentisierung firefox, firefox probleme bei https, froyo authentifizierung geht nicht, authentifikation firefox, authentifizierung löschen, keepalivetimeout svn

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum