Kann PHP ermitteln ob Cookies erlaubt sind

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

  • Kann PHP ermitteln ob Cookies erlaubt sind

    Vielleicht kann mir mir ja noch einmal einer von euch hier helfen.
    Ich suche jetzt schon seit zwei Tagen und finde es einfach nicht. Vielleicht kann PHP das auch garnicht aber ich es sollte es doch eigentlich können.
    Gibt es die Möglichkeit mit PHP abzufragen ob beim User Cookies erlaubt sind? Meiner Meinung nach fängt das Problem ja schon damit an das PHP Serverseitig läuft aber ich kenn mich nicht so wirklich damit aus.
    Davon abgesehen stellt sich für mich die Frage ob man vieleicht Java Script einbauen kann weil da kann ich mir vorstellen wie das funktioniert.
    Also wenn einer einen guten Rat hat dann danke ich ihm jetzt schon mal.
    Realismus hilft beim Träumen nicht weiter!!!

  • #2
    1. cookie setzen

    2. gesetzten cookiewert abfragen

    3. falls vorhanden = cookies werden angenommen, falls nicht vorhanden = cookies werden nicht angenommen

    Kommentar


    • #3
      Hallo.

      Du hast recht 0413, mit PHP ist das nicht ganz so einfach.
      Man kann also nicht erst schrieben und in der nächsten Zeile überprüfen ob es geklappt hat.

      1. Cookie setzten.
      2. Die Seite muss dann neu geladen werden bzw. eine andere.
      evt. mit header(), musst aber aufpassen das Du nicht in eine Schleife kommst.
      3. Dort kannst Du dann Abfragen ob der Cookie gesetzt wurde.

      Ich habe gerade ein Statistiktool geproggt, wo erfasst wird wieviel User Cookies zulassen.

      Armin

      Kommentar


      • #4
        das war auch meine erste Idee aber leider habe ich schnell festgestellt das das mit meiner Logik so nicht funktionieren kann. Was ich eigentlich machen wollte ist eine sessionnummer als cookie abzulegen. Das ganze ist für die index Seite und soll den User in einer mysql datenbank erfassen. damit jetzt die sessionnummer nicht leer ist wollte ich das datum und halt 'unknown' reinschreiben. mein Problem hier ist warscheinlich ein witz für Leute die täglich damit arbeiten aber ich komme nicht weiter. das stück code hier unten fürht ja zu garnichts aber welche möglichkeit nach dem gesetzten cookie zu fragen habe ich denn außer die variable im cookie abzufragen?

        $datum1=date(d.m.Y.H.i.s);
        setcookie("test",$datum1);
        if(!$datum1)
        {
        $sessionid=("unknown".$datum1);
        }
        else if(!$sessionid)
        {
        mt_srand((double) microtime()*1000000);
        $sessionid=md5(str_replace(".","",$REMOTE_ADDR)+
        mt_rand(100000,999999));
        setcookie("sessionid",$sessionid);
        }
        Realismus hilft beim Träumen nicht weiter!!!

        Kommentar


        • #5
          PHP-Code:
          $datum1=date(d.m.Y.H.i.s);
          setcookie("test",$datum1);
          if(!
          $datum1) {... } 
          dass das unsinn ist, müsstest du selber einsehen.
          du selber gibst $datum1 einen wert, deshalb wird es in der nachfolgenden if-abfrage auch immer einen wert haben.

          aber welche möglichkeit nach dem gesetzten cookie zu fragen habe ich denn außer die variable im cookie abzufragen?
          du hast nur genau diese eine möglichkeit, allerdings, wie weiter oben schon erwähnt wurde, erst auf der nächsten seite die du aufrufst.

          in der selben seite, in der du das cookie setzt, kannst du es nicht wieder abfragen.

          damit das cookie vom client zum server übertragen wird, ist nämlich erstmal ein neuer request, also die anforderung einer neuen seite (oder der gleichen seite erneut) durch den browser notwendig.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            du könntest dich mal "kurz im Kreis drehen" und dann weiste ob Cookie oder nicht.

            PHP-Code:
            // keine Session per Cookie => neuer User oder keine Cookies erlaubt
            if(!isset($HTTP_COOKIE_VARS['sessionid'])){
                
            // keine Session per URL => neuer User
                
            if(!isset($HTTP_GET_VARS['sessionid'])){
                    
            // Session starten
                    
            session_start();
                    
            // Cookie setzen
                    
            setcookie("sessionid",session_id());
                    
            // Seite nochmal aufrufen und Session anhängen
                    
            header("Location: ".getenv("REQUEST_URI").(strpos(getenv("REQUEST_URI"),"?")?"&":"?")."sessionid=".session_id());
                    exit();
                }else{
                    
            // alte Session wiederholen und weitermachen
                    
            session_start();
                }
            }
            // hier kommt der User hin, wenn entweder ein Cookie da ist, oder die Session per URL übergeben wurde 
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              @TBT
              Wenn Du session_start benutzt, muss man nicht noch extra einen Cookie setzten.

              Kommentar


              • #8
                aber nur wenn in der PHP.ini eingetragen ist,
                das Sessions per Cookie weiterzugeben sind:

                session.use_cookies = 1
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #9
                  @TBT
                  Ist doch in der Regel erlaubt. Oder gibt es Hoster wo das unterbunden wurde?

                  Kommentar

                  Lädt...
                  X