4 1. Neuartiges Template-System bei der MXChange-Engine:
5 2. Wichtige Aenderung am gesamten Template-System:
6 3. Sicherheitsgefaehrende Zeichen quoten
8 [--- --- --- --- --- --- ---]
10 1. Neuartiges Template-System bei der MXChange-Engine:
11 ======================================================
13 Das neue Template-System umgeht endlich den Umweg mit den normalen Variablen,
14 die vom eval()-Befehl ge-eval-t werden (also ausgefuehrt werden). Es koennen
15 nun Konstanten direkt eingebunden werden:
17 Vor und nach der einzubindenen Konstante muss ein {-- bzw. --} als Abschluss
18 gesetzt werden. Diese werden von LOAD_TEMPLATE() entsprechend umgewandelt in
19 ". und ." (Anfuehrungszeichen-Punkt und andersrum).
21 Die modules.php wierrum sichert die geposteten Daten gegen evaige Angriffe ab
22 (beispielsweise das Einbinden der MySQL-Daten), indem es das Dollarzeichen und
23 die normalen und geschwungenen Klammern quotet.
25 Hier ein Beispiel: (Leerstellen nach {-- bzw. vor --} sind nicht noetig!)
27 _WIRD_NICHT_EINGEBUNDEN {--_ABER_DIESE_KONSTANTE_SCHON--}
29 Wird Fehler verursachen:
35 Achten Sie also darauf, dass diese Template-Klammern als Paar auftreten!
37 [--- --- --- --- --- --- ---]
39 2. Wichtige Aenderung am gesamten Template-System:
40 ===================================================
42 Seit Version v0.2.0-pre4 habe ich etwas dateitechnisches am Template-System
45 Alle Dateien im Verzeichnis templates/ und templates/emails/ sind umbenannt
46 und in neue Verzeichnisse verschoben.
50 - templates/guest_header.tpl.de ist nach templates/de/html/guest_header.tpl
53 - templates/emails/done-admin.tpl.de ist nach templates/de/emails/done-admin.tpl
56 Die Doppelendung der Datei entfaellt also und ist stattdessen als Verzeichnis-
57 name realisiert. Damit stehen allen weiteren Sprachen Tuer und Tor offen/
59 Wenn Sie eine aeltere Version als v0.2.0-pre4 besitzen, so koennen Sie gerne das
60 gesamte templates-Verzeichnis (inklusive emails-Verzeichnis) an mich senden und
61 ich wandle dann die Dateinamen um.
63 Verwenden Sie dazu einfach diese Adresse: webmaster [at] mxchange [dot] org
65 Da ich hier einfach alles enpacke und nur kurz ein Shell-Script starte, kostet
66 diese Umwandlung Ihnen nichts. Selbstverstaendlich gebe ich Ihre Aenderungen
67 nicht an Dritte weiter.
69 [--- --- --- --- --- --- ---]
71 3. Sicherheitsgefaehrende Zeichen quoten
72 =========================================
74 In modules.php von Zeile 48 bis 73 (veraltet; vielleicht lagern wir diese noch
75 aus? hmmm...) befindet sich ein Absicherungsmechanismus. Dieser verhindert, dass
76 sicherheitsgefaehrende Zeichen, wie $, (, ) usw. an das Script uebergeben
77 werden womit der Angreifer versuchen koennte, die MySQL-Daten beispielsweise
80 Diese werden durch folgende "Templates" ersetzt:
82 Dollarzeichen = {DOLLAR_TAG}
83 Klammer-Auf = {OPEN_TAG}
84 Klammer-Zu = {CLOSE_TAG}
85 Sprache-Auf = {OPEN_LANGUAGE} (damit ist {-- gemeint)
86 Sprache-Zu = {CLOSE_LANGUAGE} (damit ist --} gemeint)
87 Template-Auf = {OPEN_TEMPLATE} (damit ist {% gemeint)
88 Template-Zu = {CLOSE_TEMPLATE} (damit ist %} gemeint)
90 Neu sind (v0.0.8 mit neusten Patches):
93 Semikolon (;) = {SEMI}
95 Diese "Templates" werden nach dem eval()-Befehl in der LOAD_TEMPLATES()-
96 Funktion wieder gegen ihre urspruenglichen Zeichen ausgetauscht (damit diese
97 zwar vom Mitglied eingebbar aber vor dem eval()-Befehl abgesichert sind).
99 Der Slash (/) und der Punkt (.) werden ge-quot-et (\ davor gesetzt!)