Andy: Cache leeren

Mahlzeit

Ich hab ein Problem mit meinem authentifizierungsskript. Und zwar cachet mir der Browser die $_SERVER[] eingaben. dadurch gibt es immer wieder fehlerhafte registrierungen.

Wie kann ich den Cache am effizientesten löschen?

Mfg
Andy

  1. Ich hab ein Problem mit meinem authentifizierungsskript. Und zwar cachet mir der Browser die $_SERVER[] eingaben. dadurch gibt es immer wieder fehlerhafte registrierungen.

    Der Browser kann $_SERVER nicht cachen, weil diese Variable im Server beim Skriptaufruf entsteht und den Server auch nie verlässt. Dein Problem liegt also woanders, möglicherweise hält sich der Browser an der vom Skript zuerst gelieferten Seite fest. In diesem Fall würde das Senden von Cache-Control: no-cache und/oder Expires: [jetzt] helfen.

    1. Hallo,

      wenn ich in einem php-Programm das Cachen verhindern will, helfen
      folgende header-Anweisungen dem Browser auf die Sprünge:

      function noCacheHeaders ()
      {
          /* gib Header aus, damit die folgende Seite oder Grafik nicht gecached wird */

      header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
          header ("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
          header ("Cache-Control: no-cache, must-revalidate");
          header ("Pragma: no-cache");
      }

      Michael

      1. Sers

        danke aber das hilft irgendwie alles nicht bei meinem Problem

        ich lasse mittels folgendem Befehl eine Authorisierungsabfrage durchführen.
        header( 'WWW-Authenticate: Basic realm="Private"' );
        header( 'HTTP/1.0 401 Unauthorized' );

        Die Ergebnisse $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] werden dann mit einer Datenbank verglichen! Das funktioniert das erste mal auch wunderbar. (wenn erfolgreich, werden die daten in einer Session Variablen festgeschrieben) wenn sich der User jetzt ausloggt (Session Variablen werden gekillst) und sich erneut einloggen will, kommt das Problem
        Es ist nun egal welchen User und passwort er gibt er wird immer als der zuletzt eingeloggte User angemeldet!

        ?!?! Lösung??

        Mfg Andy

        1. Die Ergebnisse $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] werden dann mit einer Datenbank verglichen! Das funktioniert das erste mal auch wunderbar. (wenn erfolgreich, werden die daten in einer Session Variablen festgeschrieben) wenn sich der User jetzt ausloggt (Session Variablen werden gekillst) und sich erneut einloggen will, kommt das Problem
          Es ist nun egal welchen User und passwort er gibt er wird immer als der zuletzt eingeloggte User angemeldet!

          Natürlich, weil die (HTTP-) Authentifizierung im Browser immernoch aktiv ist. Der Browser sendet auf Authentifizierungsanfragen solange die zuletzt eingegebenen Daten, bis man ihm sagt, dass sie ungültig sind. Anders ist eine durchgehende Authentifizierung, die auch auf die zum Beispiel zu einem Dokument gehörenden Bilder greift, nicht zu realisieren (Du möchest sicher nicht für jede einzelne Seitengrafik wieder Name und Passwort angeben müssen).

          Verwende entweder die bei Sessions übliche Methode, Name und Passwort über ein HTML-Formular einzugeben, oder erkläre dem Browser beim Ausloggen explizit, dass die gesendeten Daten ungültig sind (Beispiele müssten im Archiv stehen).

          1. Verwende entweder die bei Sessions übliche Methode, Name und Passwort über ein HTML-Formular einzugeben, oder erkläre dem Browser beim Ausloggen explizit, dass die gesendeten Daten ungültig sind (Beispiele müssten im Archiv stehen).

            Du weißt nicht zufällig wie das funktioniert?
            Lg
            Andy

            1. (Beispiele müssten im Archiv stehen).

              Du weißt nicht zufällig wie das funktioniert?

              Die Suchfunktion für das Forumsarchiv? Nein, das ist sehr kompliziert, aber ich vermute, dass man irgendwo auf http://suche.de.selfhtml.org/ (habe ich mal gefunden, ist aber bestimmt eine inoffizielle Funktion) einige Stichwörter eingibt, so etwa "htaccess ausloggen" (weil man die HTTP-Authentifizierung ja meistens in der htaccess einstellt, ist aber bestimmt Unsinn, der kein einziges Ergebnis zu Tage fördert), dann noch die Archive der letzten zwei, drei Jahre auswählt, vielleicht auch die Tipps & Tricks und die Artikel, und, aber da bin ich mir jetzt wirklich überhaupt nicht sicher, sei vorsichtig!, auf "Suche starten" drückt.

              1. Also ich muss dir jetzt einmal gratulieren!

                Dein Name ist wirklich absoulut gut gewählt! So eine sinnlose Anhäufung absolut unpassenden Kommentaren hab ich selten gesehen.

                Ich kann nur sagen dass es absolut arm von dir ist, dass du deine Erfahrung in Sachen programmieren offensichtlich nur dafür verwendest um andere Leute runter zu machen.

                Was hast du in diesem Forum eigentlich verloren? Wenn es nicht in deinem Interesse ist anderen Leute zu helfen dann such dir vielleicht einen anderen Platz zm dich auszutoben!?!?

                1. Ich kann nur sagen dass es absolut arm von dir ist, dass du deine Erfahrung in Sachen programmieren offensichtlich nur dafür verwendest um andere Leute runter zu machen.

                  Ich habe Dich auf das Forumsarchiv hingewiesen, Du hast mich gefragt, wie das Ding funktioniert. Wie soll ich denn darauf anders antworten als eine ausführliche Forumssuchbeschreibung zu geben? Suchen musst Du schon selber, denn Dir alles vorkauen, obwohl es schon im Archiv steht, möchte ich nicht.

                  Was hast du in diesem Forum eigentlich verloren? Wenn es nicht in deinem Interesse ist anderen Leute zu helfen

                  Hat die Suche Dir nicht geholfen? Schade. Beim Ausprobieren sah es so aus, als wenn schon der dritte oder vierte Treffer Dein Problem gelöst hätte.

                  dann such dir vielleicht einen anderen Platz zm dich auszutoben!?!?

                  War das eine Frage oder eine Aufforderung?

                2. hi,

                  Ich kann nur sagen dass es absolut arm von dir ist, dass du deine Erfahrung in Sachen programmieren offensichtlich nur dafür verwendest um andere Leute runter zu machen.

                  es ist arm von dir, dich nicht erst mal selbst auf die suche zu machen, wenn du entsprechende stichworte genannt bekommst.

                  Was hast du in diesem Forum eigentlich verloren? Wenn es nicht in deinem Interesse ist anderen Leute zu helfen dann such dir vielleicht einen anderen Platz zm dich auszutoben!?!?

                  wenn hier jemand fehl am platze ist, dann eher du.
                  es heisst _SELF_-forum, und nicht suchfaulenleutenallesindenarschschiebe-forum.

                  gruß,
                  wahsaga

                  --
                  "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                  1. wenn hier jemand fehl am platze ist, dann eher du.
                    es heisst _SELF_-forum, und nicht suchfaulenleutenallesindenarschschiebe-forum.

                    Heda, der unverschämte, hochnäsige, widerwärtige, blöde Sack im Forum bin ich und diese erquickliche Rolle lasse ich mir von so einem dahergelaufenen Rotzlöffel wie Dir nicht streitig machen! Jawohl!! Zur Klarstellung!!! Ausrufezeichen!!!!

                    Sowas aber auch...

                    1. hi,

                      Heda, der unverschämte, hochnäsige, widerwärtige, blöde Sack im Forum bin ich

                      ob du dir diese rolle nicht (mindestens) mit mir teilen musst, darüber könnten andere leute hier im forum zumindest teilweise anderer meinung sein :-)

                      gruß,
                      wahsaga

                      --
                      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                      1. Heda, der unverschämte, hochnäsige, widerwärtige, blöde Sack im Forum bin ich

                        ob du dir diese rolle nicht (mindestens) mit mir teilen musst, darüber könnten andere leute hier im forum zumindest teilweise anderer meinung sein :-)

                        Spalter, alles Spalter. Und inkompetent obendrein >)