0. Themenuebersicht =================== 1. Neuartiges Template-System bei der MXChange-Engine: 2. Wichtige Aenderung am gesamten Template-System: 3. Sicherheitsgefaehrende Zeichen quoten [--- --- --- --- --- --- ---] 1. Neuartiges Template-System bei der MXChange-Engine: ====================================================== Das neue Template-System umgeht endlich den Umweg mit den normalen Variablen, die vom eval()-Befehl ge-eval-t werden (also ausgefuehrt werden). Es koennen nun Konstanten direkt eingebunden werden: Vor und nach der einzubindenen Konstante muss ein {-- bzw. --} als Abschluss gesetzt werden. Diese werden von LOAD_TEMPLATE() entsprechend umgewandelt in ". und ." (Anfuehrungszeichen-Punkt und andersrum). Die modules.php wierrum sichert die geposteten Daten gegen evaige Angriffe ab (beispielsweise das Einbinden der MySQL-Daten), indem es das Dollarzeichen und die normalen und geschwungenen Klammern quotet. Hier ein Beispiel: (Leerstellen nach {-- bzw. vor --} sind nicht noetig!) _WIRD_NICHT_EINGEBUNDEN {--_ABER_DIESE_KONSTANTE_SCHON--} Wird Fehler verursachen: {--_ABSCHLUSS_FEHLT oder auch: _ANFANG_FEHLT--} Achten Sie also darauf, dass diese Template-Klammern als Paar auftreten! [--- --- --- --- --- --- ---] 2. Wichtige Aenderung am gesamten Template-System: =================================================== Seit Version v0.2.0-pre4 habe ich etwas dateitechnisches am Template-System geaendert: Alle Dateien im Verzeichnis templates/ und templates/emails/ sind umbenannt und in neue Verzeichnisse verschoben. Ein paar Beispiele: - templates/guest_header.tpl.de ist nach templates/de/html/guest_header.tpl verschoben worden. - templates/emails/done-admin.tpl.de ist nach templates/de/emails/done-admin.tpl verschoben worden. Die Doppelendung der Datei entfaellt also und ist stattdessen als Verzeichnis- name realisiert. Damit stehen allen weiteren Sprachen Tuer und Tor offen/ Wenn Sie eine aeltere Version als v0.2.0-pre4 besitzen, so koennen Sie gerne das gesamte templates-Verzeichnis (inklusive emails-Verzeichnis) an mich senden und ich wandle dann die Dateinamen um. Verwenden Sie dazu einfach diese Adresse: webmaster@mxchange.org Da ich hier einfach alles enpacke und nur kurz ein Shell-Script starte, kostet diese Umwandlung Ihnen nichts. Selbstverstaendlich gebe ich Ihre Aenderungen nicht an Dritte weiter. [--- --- --- --- --- --- ---] 3. Sicherheitsgefaehrende Zeichen quoten ========================================= In modules.php von Zeile 48 bis 73 (veraltet; vielleicht lagern wir diese noch aus? hmmm...) befindet sich ein Absicherungsmechanismus. Dieser verhindert, dass sicherheitsgefaehrende Zeichen, wie $, (, ) usw. an das Script uebergeben werden womit der Angreifer versuchen koennte, die MySQL-Daten beispielsweise auszulesen. Diese werden durch folgende "Templates" ersetzt: Dollarzeichen = {DOLLAR_TAG} Klammer-Auf = {OPEN_TAG} Klammer-Zu = {CLOSE_TAG} Template-Auf = {OPEN_TEMPLATE} (damit ist {-- gemeint!) Template-Zu = {CLOSE_TEMPLATE} (damit ist --} gemeint!) Neu sind (v0.0.8 mit neusten Patches): Abostrof (') = {QUOT} Prozent (%) = {PER} Semikolon (;) = {SEMI} Diese "Templates" werden nach dem eval()-Befehl in der LOAD_TEMPLATES()- Funktion wieder gegen ihre urspruenglichen Zeichen ausgetauscht (damit diese zwar vom Mitglied eingebbar aber vor dem eval()-Befehl abgesichert sind). Der Slash (/) und der Punkt (.) werden ge-quot-et (\ davor gesetzt!) [EOF]