Ankündigung

Einklappen
Keine Ankündigung bisher.

Cache und Form Tokens

Einklappen

Neue Werbung 2019

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

  • Cache und Form Tokens

    Hallo

    Ich schreibe gerade einen einfachen Cache. Dieser funktioniert so dass er den gesamten Html Inhalt in eine Datei speichert.

    Jedoch habe ich nun das Problem dass die Form Tokens für spezifische Formulare natürlich nicht mehr stimmen.

    Wie kann man den das Problem lösen?

    Zuerst dachte ich an Javascript die Tokens zu ersetzen. Doch das funktioniert nur wenn Javascript eingeschaltet ist.

    Könnte man den auch mittels DOMDocument die Tokens auswechseln?

    Oder gibt es da bessere Methoden? Danke im voraus für jeden nützlichen Tip.

  • #2
    Zitat von strub Beitrag anzeigen
    Ich schreibe gerade einen einfachen Cache. Dieser funktioniert so dass er den gesamten Html Inhalt in eine Datei speichert.

    Oder gibt es da bessere Methoden? Danke im voraus für jeden nützlichen Tip.
    Man Chached nichts, was nicht statisch ist.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Hey besten Dank thausl.

      Man Chached nichts, was nicht statisch ist.
      Das ist mir schon klar. Doch ich habe z.B bei Produkten auch einen Token wenn man das Produkt in den Warenkorb legt.

      Und da möchte ich auf den Cache nicht verzichten. Oder ist dieser Token bei den Produkten unnötig?

      Kommentar


      • #4
        Sieh dir doch einmal den Smarty-Cacher oder Twig-Cache an, der "kompiliert" das Template und macht PHP-Code daraus. Was in der Ausführung schneller ist, aber noch nicht einem vollen, statischen Cache entspricht.

        Was du da auch kannst, ist den Cache anhand einer Session erstellen, sodass gewisse Templates user-spezifisch gecached werden.

        Und Tokens ersetzen via JavaScript scheint mir schlecht zu sein, das hat so die Art, ein Unding zu werden.
        [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

        Kommentar


        • #5
          Hallo ChristianK

          Sieh dir doch einmal den Smarty-Cacher oder Twig-Cache an, der "kompiliert" das Template und macht PHP-Code daraus. Was in der Ausführung schneller ist, aber noch nicht einem vollen, statischen Cache entspricht.
          Sehr guter Tip. So weit dachte ich gar nicht. Jedoch habe ich mir schon anders geholfen.

          Nun habe ich jedoch alle unnötigen Form Tokens entfernt, sowie bei den Produkten um diese in den Warenkorb zu legen. Oder bei der Suchfunktion. Denn bei anderen Shops werden für diese Aktionen auch keine Tokens genutzt.

          Des weiteren falls ein Token existiert wird die Seite einfach nicht gecached, wass z.B beim Login der Fall ist, ok diese wäre natürlich auch ohne einem Token nicht gecached worden.


          Was du da auch kannst, ist den Cache anhand einer Session erstellen, sodass gewisse Templates user-spezifisch gecached werden.
          Ich mache es folgendermassen mit dem Cache-Dateinamen:
          z.B. alias_de_1_CHF.html -> alias _ (parameters falls vorhanden: z.B. page-2) _ Sprache _ benutzergruppe _ Währung

          Kommentar


          • #6
            Hallöchen,

            wozu denn das Rad neu erfinden, wenn es schon massenweise best practices gibt. In deinem Fall könnte ich mir sogar den Einsatz von Edge Side Includes vorstellen. Damit kannst du gezielt Teile einer HTML-Seite cachen. Gerade beim Einsatz von Templates bietet es sich an, das Caching der kompilierten Templates der Template-Engine zu überlassen. Twig braucht bspw. nur einen Pfad zum Cache-Verzeichnis - der Rest erledigt sich von selbst.

            Viele Grüße,
            lotti
            [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

            Kommentar


            • #7
              Danke für den Hinweis. Doch in meinem CMS möchte ich nichts externes benutzen ausser Jquery und Swiftmailer aus verschiedenen Gründen.

              Kommentar


              • #8
                Das wird wohl zum Trend
                [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

                Kommentar


                • #9
                  Geht mir nicht um den Trend. Doch ich habe meine Erfahrungen gemacht mit externen Resourcen. Wenn man ein Problem hat muss man Stundenlang sich durch den Code wühlen um den Fehler zu finden. Oder man will etwas machen was das Ding nicht kann und dann wirds noch komplizierter, den man muss das Ding tiefsgründing verstehen um was zu Erweitern oder zu Veränder. Dann die lieben Updates. Und und und ......

                  Deshalb wenns nicht unbedingt nötig ist, verzichte ich lieber auf externe Resourcen.

                  Kommentar


                  • #10
                    Find ich gut. Machst du es auch ohne PHP? Das hat mich auch schon oft genervt. Ständig irgendwelche komischen Funktionen die man nicht durchschaut. Und dann die lieben Updates. Und und und.
                    [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                    Kommentar


                    • #11
                      Oh ja habe mein eigenes PHP Nein, wirklich das ist meine Meinung. Mir erleichtert es einfach die Arbeit.

                      Kommentar


                      • #12
                        Wie alt bist du? Und wie lange entwickelst du schon?

                        (Für meine Privat-Statistik von Leuten, die meinen sie könnten alles besser als die tausenden Entwickler, die sich an Bibliotheken und Libraries beteiligen)
                        [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                        Kommentar


                        • #13
                          (Für meine Privat-Statistik von Leuten, die meinen sie könnten alles besser als die tausenden Entwickler, die sich an Bibliotheken und Libraries beteiligen
                          Ich habe nie gesagt dass ich alles besser kann. Und asserdem finde ich im allgemeinen die Bibliotheken und Libraries auch gut. Aber das heisst ja noch lange nicht dass man diese auch Verwenden muss. Das ist doch jedem selber überlassen.

                          Kommentar


                          • #14
                            Sorry - Ich reagiere einfach allergisch darauf, wenn sowas unbegründet im Raum steht. Ist auch nicht im Scope des Themas. Vergiss dass ich was gesagt habe.
                            [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                            Kommentar


                            • #15
                              Kein Problem, ich nehme das auch nicht so persönlich.

                              Kommentar

                              Lädt...
                              X