Templates konfigurabel

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Thu Oct 26, 2017 1:50 pm

olape wrote:Aber wie sieht es denn z.B. bei: ?Legal-Notice <--> Legal Notice aus?
Da funktioniert es mit einem Text nicht.
Hm, das müsste eigentlich so funktionieren:

Code: Select all

<li><a href="?<?=uenc($tpl_tx['text']['3'])?>"><?=$tpl_tx['text']['3']?></a></li>
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3084
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Thu Oct 26, 2017 1:57 pm

cmb wrote:Hm, das müsste eigentlich so funktionieren:
Funktioniert perfekt!
Wieder was gelernt (was ich wahrscheinlich in 5 min wieder vergessen habe ;-) )

Ist "uenc" etwas XH-eigenes?

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Thu Oct 26, 2017 2:06 pm

frase wrote:"Sprachen" gibt es im notepad++ - im Dreamweaver nicht ;-)
Qualität hat halt ihren Preis. ;)
frase wrote:Ist "uenc" etwas XH-eigenes?
uenc() gab es schon im klassischen CMSimple. Es wird verwendet, um die Seitenüberschriften bzw. heuer die Seitennamen URL-gerecht aufzuarbeiten, und berücksichtigt urichar_org/new.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3084
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Thu Oct 26, 2017 2:12 pm

zu DW:
benutze ich oft ganz am Anfang, um "Format" reinzukriegen
dann wird beinahe alles mit notepad++ gemacht

zu uenc():
eben wegen meiner zunehmenden Vergesslichkeit muss ich häufiger auf euch (im Forum) zurückgreifen
(sofern ich nicht vergesse, wo der Foren-Link steht ;-) )

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Thu Oct 26, 2017 2:41 pm

frase wrote:zu uenc():
eben wegen meiner zunehmenden Vergesslichkeit muss ich häufiger auf euch (im Forum) zurückgreifen
Ist eigentlich ganz einfach: es muss immer korrekt maskiert (neudt. escape`t) werden. Wenn ein beliebiger Text als URL-Teil verwendet werden soll, dann normalerweise mit urlencode(); bei CMSimple halt mit uenc().

Und wenn man beliebige Texte als HTML ausgibt, dann muss htmlspecialchars() verwendet werden; bei CMSimple_XH einfacher XH_hsc. Das hatte ich weiter oben vergessen (apropos!); es sollte also so lauten:

Code: Select all

<li><a href="?<?=XH_hsc(uenc($tpl_tx['text']['3']))?>"><?=XH_hsc($tpl_tx['text']['3'])?></a></li>
Nach uenc() ist XH_hsc() eigentlich nicht nötig, aber im Zweifel schadet es auch nicht. Beim Elementinhalt allerdings schon (Beispiel "dies & das"). Und bedenken: in PHP sind Funktionsnamen case-insensitive; wer also xh_hsc() bevorzugt, kann das ruhig so schreiben.

PS: ach ja, ganz wichtig: XH_hsc() maskiert keine einfachen Anführungszeichen ('). Daher sollten Attribut-Werte immer mit doppelten Anführungszeichen (") eingeschlossen werden. Auf keinen Fall ganz auf die Anführungszeichen verzichten, ausser wenn es sicher ist, dass nur gültige Zeichen vorkommen; und selbst dann verwende ich immer doppelte Anführungszeichen (z.B. <p class="foo">).
Last edited by cmb on Thu Oct 26, 2017 2:46 pm, edited 1 time in total.
Reason: PS hinzugefügt
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3084
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Thu Oct 26, 2017 2:46 pm

cmb wrote:Das hatte ich weiter oben vergessen (apropos!); es sollte also so lauten: ...
Uups. Das sieht ja immer komplizierter aus (was es wahrscheinlich gar nicht ist).
Da sind vielleicht 2 Sprachvariablen doch "simpler".

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Thu Oct 26, 2017 2:51 pm

frase wrote:
cmb wrote:Das hatte ich weiter oben vergessen (apropos!); es sollte also so lauten: ...
Uups. Das sieht ja immer komplizierter aus (was es wahrscheinlich gar nicht ist).
Da sind vielleicht 2 Sprachvariablen doch "simpler".
Das löst das Problem nicht wirklich, sondern schiebt den Ball dem Anwender zu – der muss dann nämlich genau aufpassen, was er dort eingibt (z.B. eben "dies & das" statt "dies & das"). Man könnte allerdings über ein automatisches HTML-Maskieren der Sprachtexte nachdenken.

PS: diesbezüglich recht interessant: https://www.htbridge.com/advisory/HTB22558. Das wurde als XSS- und CSRF-Vulnerability eingestuft. Der XSS-Teil wurde aber nie gelöst (auch nicht in CMSimple_XH 1.7.1), weil zumindest manche Sprachtexte eben ganz explizit HTML erlauben. Würde ich eigentlich gerne ändern.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3084
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Thu Oct 26, 2017 3:07 pm

Den ersten Teil habe ich kapiert und "XH_hsc(uenc(" reingesetzt - für die nächste Version.
Anwender -> simple -> first!

Beim zweiten Teil ist mein Hirn ausgestiegen ... ;-)

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Thu Oct 26, 2017 3:37 pm

frase wrote: zweiten Teil ist mein Hirn ausgestiegen ... ;-)
Was meinst du mit "zweitem Teil"?
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3084
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Thu Oct 26, 2017 3:41 pm

cmb wrote:Was meinst du mit "zweitem Teil"?
Dein PS:

Post Reply