+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Sicheres und aufgeräumtes Template

  1. #1
    Neu an Board Avatar von warteschlange
    Registriert seit
    30.08.2004
    Ort
    Winterthur
    Alter
    51
    Beiträge
    14
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Beitrag Sicheres und aufgeräumtes Template

    Ich möchte hier auf ein, meiner Meinung nach, konzeptionellen Fehler im Mambo hinweisen, welches das Template-System von Mambo aufweist.

    Templates sollen es auch PHP-Laien ermöglichen, Mambo nach dem eigenen Geschmack anzupassen.

    Erstens kann in ein Template Code eingewoben sein, der sich nach dem ersten Start gleich löscht.
    Typischerweise schaut man sich das Template erst live an und schaut erst danach in den Code. Denn wozu die Mühe, wenn es einem nicht gefällt.
    Da sich der Code aber selber gelöscht hat ist nichts vom 'Datenklau' mehr zu finden.
    Vorher hatte der Code aber die notwendingen Passworte aus configuration.php ausgelesen.
    (Das für meinen Geschmack auch nicht Webzugänglich sein sollte - aber das geht ja nicht überall)
    Ich will an dieser Stelle auch nicht aufbauschen, aber ein 'ultimatives' Template, dass jeder kurz antesten will, weil es Cool aussieht, reicht aus. Es hilft auch nichts, auf einem zweiten Mambo zu testen. Meistens laufen die verschiedenen Mambos mit gleichen rechten.
    Selbstverständlich findet man/frau den 'bösen' Code, wenn man vorsichtig ist und vorher den Code analysiert.
    Aber wenn alle User 'vernünftig' wären, hätten sich diese Würmer/Viren/Trojaner nicht so rasant verbreitet. (M$ ist nicht an allem schuld)

    Zweitens, und das ist für mich das wichtigere Argument, ist es für Designer doch etwas umständlich mit diesen
    PHP-Code:
    < ? php mosLoadModules 'user4', -); ? > 
    um zu gehen.

    Hier also mein Lösungsansatz:
    statt obigen code sollte das Template keine PHP seite sein, sondern eine HTM oder HTML Datei sein und statt phpcode sollte {user4} eingfügt werden. Wer sich bereits mit anderen Templatern auseinandergesetzt hat, kennt diese geschweiften Klammern dazu.

    Da Mambo an alle Ecken und Enden Code outputtet, gestaltet sich ein 'sauberer' Templater als kniffelig.

    Ich habe ein Template entworfen, das obigen Ansprüchen gerecht wird.

    Wer es testen möchte kann das Template hier herunterladen. Es basiert auf Solarflare und ist für Mambo 4.5.1

    Wie ihr sehen werdet, habe ich die index.php zu reinem Code reduziert und um eine zusätzliche Datei layout.htm ergänzt.
    Dabei ist layout.htm im Vergleich zum ursprünglichen Solarflare-Template richtig lesbar geworden.

    Wegen der 'Inkontinenz' von Mambo, musste ich zu einem Kunstgriff greifen, den die Mambo Entwickler selber ebenfalls nutzen.

    ob_start() leitet die Ausgabe in einen Puffer um.
    ein Beispiel:

    PHP-Code:
    ob_start(); // umleiten in Puffer
    mosShowHead(); // würde alle direkt ausgeben
    $data["moshead"] = ob_get_contents(); // Pufferinhalt in ein Array
    ob_end_clean(); // Puffer leeren 
    so verfahre ich mit jedem Element von Mambo.

    Am Schluss habe ich alle Teile der Ausgabe in einem Hash-Array

    Ein simpler Templater sucht und ersetzt am Schluss alle vorkommenden {varname} mit $hashArr[$varname]

    Da beide Template-Methoden nebeneinander koexistieren können, steht der neuen Methode nichts im Wege.
    (Aus Sicherheitsgründen wäre es natürlich besser, die index.php irgendwo im Mambo zu integrieren.)

  2. #2
    Modeberater Avatar von Zorro
    Registriert seit
    30.10.2003
    Ort
    Hessen
    Beiträge
    2.995
    Bedankte sich
    50
    Erhielt 409 Danksagungen
    in 325 Beiträgen

    Standard

    Sehr interessanter Ansatz. Ich habe mir den Code Deines Templates eben mal angesehen: das verbessert in der Tat die Lesbarkeit (und Wartbarkeit) um mehrere 100%.

    Diskutiere das doch mal mit den Entwicklern im offiziellen Forum.

    Viele Grüße,

+ Antworten

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 12.11.2004, 16:22
  2. suche oranges template für phpbb2 was zu mambo passt
    Von holly303 im Forum Mambo 4.5.0 Templates
    Antworten: 6
    Letzter Beitrag: 15.10.2004, 19:41
  3. Template Drake mehr als 100% breit
    Von BerndDaniel im Forum Mambo 4.5.0 Templates
    Antworten: 0
    Letzter Beitrag: 29.09.2004, 22:36
  4. Mambo Turkey Template Competition
    Von MAMBOTURKEY im Forum Mambo 4.5.0 Templates
    Antworten: 0
    Letzter Beitrag: 23.09.2004, 16:41
  5. Suche Template
    Von bomberman_z im Forum Mambo 4.5.0 Templates
    Antworten: 1
    Letzter Beitrag: 25.08.2004, 01:15

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein