Webserver verhindert setcookie()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Webserver verhindert setcookie()

    Sers,

    wollte heut mal zum test einen lokalen Windows-Webserver inkl. PHP4 aufsetzen, als Betriebsystem hab ich Windows 2000 SP4 genommen und hab als erste den mini-server "Digi WWW" getestet.

    Hab dann geschwind ein kleines PHP login-script gecodet, was aber nicht funktionierte, bin die php.ini rauf und runter gegangen und hab aber nichts falsches gefunden, da der Server aber bei scriptaufruf auch sporadisch absürzte, hab ich ein anderes Programm getestet

    Omni HTTP war als nächstes dran & stabiler, das script funktionierte trotzdem nicht... dann hab ich mal geschaut was denn genau nicht funktionierte und merkte das kein cookie geschrieben wurde. Hab danach geschwind n kleines php script geschrieben, welches ausschließlich ein kleinen cookie speichert und danach in den TemporarityIF nachgeschaut, nada

    zum schluss hab ich noch xampp (Apachee2 & PHP4) getestet, gleiches Ergebnis...

    Alle Scripte hab ich auch auf meinem externen Linux Server (apachee & PHP4) getestet, hat alles einwandfrei funktioniert.

    Irgendwie wird der cookieheader oder sonst was blockiert, es ist auf jedenfall nicht möglich in PHP ein cookie zu setzen, aber warum?

    PS: E_ALL is an und es steht nirgends ein @ vor setcookie oder sonst. ;-)

    könnt ihr mir helfen?
    Danke im Vorraus
    Zuletzt geändert von G-l-l4X0r7; 22.03.2006, 21:37.

  • #2
    die checkliste hier: http://www.php-resource.de/forum/sho...threadid=50454 schon durchgenommen?

    Kommentar


    • #3
      Re: Webserver verhindert setcookie()

      Original geschrieben von G-l-l4X0r7
      Hab danach geschwind n kleines php script geschrieben, welches ausschließlich ein kleinen cookie speichert und danach in den TemporarityIF nachgeschaut, nada
      Oh man, und sowas nennst du sinnvolles testen ...?

      Schalte das error_reporting von PHP auf E_ALL.

      Und dann teste mit einem vernünftigen Browser, der dir empfangene Cookies anzeigt.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        also E_ALL ist an, währe ansonsten n bisschen unklug ^^
        von PHP gibt es keine Fehlermeldung...

        chekliste bin ich zwar vorher nicht durchgegangen, aber jetzt, wüsste nicht was ich noch ergänzen könnte, vielleicht noch den quelttext ;-)

        PHP-Code:
        <?php
        $value 
        'irgendetwas von irgendwo';
        setcookie("TestCookie"$valuetime()+3600); 
        ?>
        Ich hab nich von sinnvollem Testen gesprochen, auf die schnelle hat mir das mit dem IE gereicht, hab natürlich jetzt auch mit Opera & Firefox getestet, nada, kein cookie

        was ist da los???
        Zuletzt geändert von G-l-l4X0r7; 22.03.2006, 21:49.

        Kommentar


        • #5
          wie sieht's mit display_errors aus? wie prüfst du, ob der Keks gesetzt wurde?

          Kommentar


          • #6
            display_errors ist auch auf on ^^, seh ich wirklich so blöd aus :-( ;-)

            im ersten script das ich probiert habe fand php den gesetzten cookie nicht, im 2. Script, was ich auch oben gepostet habe, hab ich mit den jeweiligen Broswerfunktionen nachgeschaut ob ein cookie gesetzt wurde...

            Und nochmal: auf einem fremden Linux-basierenden Webserver funktionieren die glitzegleichen scripte tadellos!

            nur auf Windows 2000 mit jeglichem Webserver den ich getestet habe nicht, warum?

            Kommentar


            • #7
              Cookieblocker/Firewall ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Firewall bzw. NAT ist nur auf dem Router aktiv und Netzwerkintern sowiso nicht aktiv, das W2k war frisch aufgesetzt...

                und nein, ich verwende keine Software-Firewall noch einen Cookieblocker, noch hab ich im IE die sicherheitsrichtlinien so verändert das keine Cookies gespeichert werden, noch hab ich in Opera & Firefox Cookies deaktiviert

                Und nochmal zum Anmerken, die gleichen Scripte funktionieren auf einem externen Linuxbasierenden Webserver tadellos, also kann man clientseitige fehler ausschließen

                PS: Beim errorreporting hab ich das notice noch abgeschaltet gehabt, aber auch mit reinem E_ALL is nichts hilfreiches dabei

                PSS: der von XAMPP stanardmäßige PHPmyAdmin funktioniert auch nur wenn man den login auf HTTP stellt, der Cookie-basierende login funktioniert genausowenig ... :-(
                Zuletzt geändert von G-l-l4X0r7; 22.03.2006, 22:42.

                Kommentar


                • #9
                  Das Problem gabs doch selbst hier schon x mal, dass lokal einfach keine Cookies gesetzt werden.
                  Wieso, weshalb und warum konnte bis jetzt noch niemand beantworten, ich selber habe dieses Problem auch schon seit geraumer Zeit. (Irgendwo dürfte sogar noch der Thread rumschwirren.)
                  Meiner Meinung nach ist das irgendein Bug in Windows, dass lokale Cookie's manchmal akzeptiert und manchmal ignoriert werden.

                  Aber naja, nichts Genaues weiss man nicht.
                  mfg - sagg

                  Kommentar


                  • #10
                    Original geschrieben von G-l-l4X0r7
                    Und nochmal zum Anmerken, die gleichen Scripte funktionieren auf einem externen Linuxbasierenden Webserver tadellos, also kann man clientseitige fehler ausschließen
                    Nicht unbedingt.

                    Von welchem Server/"Domain" er die Daten abruft, könnte den Client ja auf Grund irgendeiner Einstellung durchaus zu unterschiedlichen Reaktionen veranlassen.

                    Original geschrieben von sagg
                    Meiner Meinung nach ist das irgendein Bug in Windows, dass lokale Cookie's manchmal akzeptiert und manchmal ignoriert werden.
                    Wäre mir echt neu, hab ich noch nie gehört, und auch selber noch nie Probleme mit gehabt.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Lokal ist ja so ne Sache, aber ich hab auch mal versucht den server durch den dyndns eintrag zu erreichen, also raus und wieder rein, hat au nich funktioniert, aber ob das wirklich "lokal" umgeht?

                      Gestern hab ich noch geschaut obs nicht am Datum vom Server liegt, denn das war um 3Monate zurückgestellt (hatte anfangs nur die Jahreszahl richtig eingestellt) und deswegen irgendwas mit der cookiegültigkeit nicht stimmt, aber hat mir auch kein erfolg gebracht :-(

                      Bin nämlich gestern Abend mit meinem Laptop, ebenfalls W2k auf beide scripte gesurft, einmal auf den Webserver lokal und auf den externen, und da hats bei beiden nicht funktioniert, erst als ich das Datum richtig eingestellt hab (Clientseitig) hats auf dem externen Webserver funktioniert...

                      Kommentar


                      • #12
                        So jetzt hab ich mir mal beide header von nem externen script anusspuckten lassen und war sehr verweundert:

                        Ergebnis des Externen Scriptes, was den Header ausspuckt:

                        Externen Server bei dem es immer funktioniert hat:
                        PHP-Code:
                        HTTP/1.1 200 OK 
                        Zeigt den Status an

                        Date
                        Thu23 Mar 2006 13:11:06 GMT
                        Übertragungsdatum von 
                        [url]http://~~~/cookie.php[/url] in GMT

                        ServerApache/1.3.27 (UnixPHP/4.4.2 mod_ssl/2.8.14 OpenSSL/0.9.6i
                        Zeigt den Server Typ sowie 
                        die installierte Sowtware an

                        X
                        -Powered-ByPHP/4.4.2 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwo 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwoexpires=Thu23 Mar 2006 14:11:06 GMT 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwoexpires=Thu23 Mar 2006 14:11:06 GMTpath=/~rasmus/; domain=.example.comsecure 
                        Connection
                        close
                        Verbindungs Typ

                        Content
                        -Typetext/html
                        Datentyp 
                        Dateiformat 
                        Lokaler Server über Dyndns aufgerufen:

                        PHP-Code:
                        HTTP/1.1 200 OK 
                        Zeigt den Status an

                        Date
                        Thu23 Mar 2006 13:11:53 GMT
                        Übertragungsdatum von 
                        [url]http://~~~/cookie.php[/url] in GMT

                        ServerApache/2.2.0 (Win32DAV/2 mod_ssl/2.2.0 OpenSSL/0.9.8a mod_autoindex_color PHP/4.4.1-pl1
                        Zeigt den Server Typ sowie 
                        die installierte Sowtware an

                        X
                        -Powered-ByPHP/4.4.1-pl1 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwo 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwoexpires=Thu23 Mar 2006 14:11:53 GMT 
                        Set
                        -CookieTestCookie=irgendetwas+von+irgendwoexpires=Thu23 Mar 2006 14:11:53 GMTpath=/~rasmus/; domain=.example.comsecure 
                        Keep
                        -Alivetimeout=5max=100 
                        Connection
                        Keep-Alive
                        Verbindungs Typ

                        Content
                        -Typetext/html
                        Datentyp 
                        Dateiformat 
                        sieht super aus, aber warum wird er nicht gespeichert, wieso zeigt kein browser mir das an!? Bin ich jetzt meschugge!?

                        help me

                        Kommentar


                        • #13
                          OK jungs, ich habs und zwar folgendes:

                          Also Anfangs hat es ja garnicht funktioniert, was wahrscheinlich darauf zurückzuführen war, das das Datum des Webserversystems falsch eingestellt war und die gesendeten Expire Datums die der Webserver gesendet hat schon lange abgelaufen waren (time(); hat ja falschen wert geliefert).

                          Trotzdem hat mein 1. Script immernoch nicht funktioniert, aber trotzdem auf dem externen Webserver, was mit der option "register_globals" zusammenhing, hatte n bisschen unsauber auf die schnelle programmiert und deswegen die daten, die in den cookie geschrieben werden sollten nicht ala $_POST[''] sondern direkt als variable geschrieben. Den externen Webserver hats nicht gekratzt aber de´n lokalen hatte ich so eingestellt...

                          Diese Seite fand ich ganz nützlich, sie spuckt per script den Header einer angegebenen URL aus, das hätte mich bestimmt auch früher auf das Datum/Zeit-Problem hingewießen: http://www.topster.de/http-header/

                          Also viiiiiiiiiiiiiiiiielen Dank für eure Hilfe

                          Gruß
                          Zuletzt geändert von G-l-l4X0r7; 23.03.2006, 13:56.

                          Kommentar

                          Lädt...
                          X