Ankündigung

Einklappen
Keine Ankündigung bisher.

Prüfen ob Cookies aktiviert sind

Einklappen

Neue Werbung 2019

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

  • Prüfen ob Cookies aktiviert sind

    Hi.

    Ich würde gerne prüfen, ob der User Cookies aktiviert hat.

    Wenn ich dazu ein Cookie erstelle, und es zurücklesen will, kann ich erst beim Reload der Seite oder dem laden einer anderen Seite feststellen, ob cookies aktivert sind.
    Bestünde die Möglichkeit, ein php Script als Bilddatei einzubinden? Bilddateien werden ja normalerweise vom Browser automatisch nachgeladen.
    z.B. test.gif, die aber eigentlich ein php-Script ist, im Hintergrund dann versucht das Cookie zu lesen, den Status speichert, und dann den 1x1 dummy gif an den Browser ausgibt?
    Oder kann ich in ein Html IMG Tag auch direkt php Dateien eintragen, die dann einfach im Gif Format an den Browser antworten?

    Oder gibts andere Möglichkeiten, die Cookie Aktivierung ohne Reload zu prüfen?


  • #2
    wie wärs mit dem hier:
    PHP-Code:
    $browser get_browser(nulltrue); 
    und dann unter => cookies siehst du ob die akzeptiert werden ...
    PHP-Code:
    if ( $humans >= ) {
       
    war ();

    Kommentar


    • #3
      Vielen Dank

      Kommentar


      • #4
        Zitat von PhillKill12 Beitrag anzeigen
        wie wärs mit dem hier:
        PHP-Code:
        $browser get_browser(nulltrue); 
        und dann unter => cookies siehst du ob die akzeptiert werden ...
        Hey Phill hast du aber auch das hier gelesen

        Der Wert von cookies sagt nur etwas darüber aus, ob der Browser an sich in der Lage ist Cookies anzunehmen, und nicht darüber, ob der Benutzer die Annahme von Cookies aktiviert hat. Die einzige Möglichkeit zu testen, ob Cookies akzeptiert werden, besteht darin, mittels setcookie() ein Cookie zu setzen, die Seite neu zu laden und dessen Wert zu überprüfen.
        Da steht auch wie man richtig testen kann ob ein User Cookies akzeptiert, nämlich indem man ein Cookie setzt und dann einfach prüft.

        PHP-Code:
        if(isset($_COOKIE['cookie_name'])){
        //weiterer code oder was auch immer

        Gruß litter
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Hi.
          Ja die Browserüberprüfung ist nicht aussagekräftig ob ein user Cookies aktiveiert hat oder nicht.
          Bei dem Code mit Isset sieht man es aber erst nach einem Reload

          Wie kann man es also auf der Startseite selbst rausfinden?

          Kommentar


          • #6
            Gar nicht.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Mit Javascript.
              "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

              Kommentar


              • #8
                Beim ersten Aufruf einer PHP-Datei Session eröffnen, Cookie setzen und in der Session mit einem Flag markieren, dass Cookie gesetzt ist. Danach ruft das Script sich selbst auf.
                Beim zweiten Aufruf Session wieder eröffnen und anhand des Flags merken, dass Cookiesetzen schon versucht wurde. Daher nun versuchen das Cookie zu lesen. Wenn Cookies akzeptiert werden, dann kann man das mit einem weiteren Flag in der Session festhalten.
                Das ist allerdings ein ziemliches geeiere und birgt die Gefahr von Endlosschleifen. Wenn man so eh Sessions braucht, dann kann man die benötigten Infos auch gleich dortrein schreiben und Cookies vergessen.
                PHP-Code:
                if ($var != 0) {
                  
                $var 0;

                Kommentar


                • #9
                  Hi.
                  Das Problem ist, dass mein Webserver für Sessions ebenfalls Cookies braucht, oder man muss es so umstellen, dass die Session URL über die URL durchgereicht wird. Eine automatische Umschaltung ob URL oder Cookie kann der Server nicht, da es in der php.ini nicht aktiviert ist.
                  Deswegen muss ich es selbst programmieren, cookies primärer, und URL als Fallback.

                  Kommentar


                  • #10
                    Nein, das muss man nicht. Manual: SID . Und auch mal drüber nachdenken, ob man Sessions ohne Cookies nicht sowieso aussen vor lässt.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Habe das Problem jetzt übrigens gelöst:
                      Falls der SessionCounter 0 ist, was bei einer neuen Session der Fall ist, wird eine Umleitung auf die Seite selbst gemacht (über Header und zusätlich per HTML, falls der Header ignoriert wird) beim zweiten Scriptdurchlauf sehe ich dann, ob Cookies aktiviert sind. wenn nicht arbeite ich mit Session ID per URL parameter und "userHash" der in der Session gespeichert ist. Der UserHash ist ein Hash über den UserAgent und die IP, der dann jedes mal verglichen wird. Wenn der Hash nicht stimmt, weil z.B. die URL mit Session ID irgendwo gepostet wurde, wird die Session für ungültig erkärt und gelöscht. Bei aktivierten Cookies prüfe ich den UserHash nicht.

                      Leute die dann z.B. TOR nutzen, oder AOL User (ständig wechselnde IP) und Cookies deaktiviert haben, können sich daher nicht erfolgreich einloggen weil die Session jedes mal gelöscht wird. Für solche User muss ich mir dann noch was anderes einfallen lassen.

                      mfg

                      Grüße

                      Kommentar


                      • #12
                        Bei aktivierten Cookies prüfe ich den UserHash nicht.
                        wür ich trotzdem machen, sicher ist sicher !!
                        PHP-Code:
                        if ( $humans >= ) {
                           
                        war ();

                        Kommentar


                        • #13
                          Zitat von PhillKill12 Beitrag anzeigen
                          wür ich trotzdem machen, sicher ist sicher !!
                          Jop, aber dann fliegen z.B. AOL User auch öfter raus, weil die ja häufig wechselnde IP's haben. So bleiben sie drin, wenn die Session über Cookies läuft.

                          Die TOR user wären mir ja noch egal, wenn man sowas nutzt muss man damit rechnen dass man aus einem Zugriffsgeschützen Bereich gekickt wird, weil die IP sich ständig ändert.

                          mfg

                          Kommentar


                          • #14
                            Jop, aber dann fliegen z.B. AOL User auch öfter raus, weil die ja häufig wechselnde IP's haben. So bleiben sie drin, wenn die Session über Cookies läuft.
                            ich sag trotzdem gern: sicherheit geht vor !!
                            PHP-Code:
                            if ( $humans >= ) {
                               
                            war ();

                            Kommentar


                            • #15
                              beim zweiten Scriptdurchlauf sehe ich dann, ob Cookies aktiviert sind.
                              Ach ja, inwiefern. IMHO wird dann wieder weitergeleitet. Oder woher soll der Session-Count dann kommen?
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X