[development] more consistency in theme functions and output
concepts.
Bèr Kessels
ber at webschuur.com
Thu May 11 11:03:52 UTC 2006
Op woensdag 10 mei 2006 12:30, schreef Gerhard Killesreiter:
> I think this is a pretty bad idea. This way every themer has a chance to
> remove our XSS checks.
Sounds fair.
However, we now do *not* have a central place. Quite some of our
checks/filters DO appear in theme functions!
So I agree that the theme layer might not be the best place, but fact remains
that we need a *central* place, not?
IMO having it "all over the place" is worse then having it in a theme layer
where we say "themes are the ones to filter/sanitize all output".
Too often do I now find that theme_a calls theme_b and that theme_b filters
out stuff that theme_a wants to put in. MOre often even do I find that
function_x filters code, and makes it a chunk of HTML, while theme_a wants to
do something usefull to that chunk and therefore wishes to receive the
original data. I tried to address these three issue (security, theme-power
and overhead) in one "guideline".
> > * t(): on the same level. Only in the theme level do we output t()ed
> > strings. This makes it a lot simpler, because you know that functions and
> > methods pass the original strings along, and that they are only
> > translated in the VERY END. This should also make testing against strings
> > a lot easier. I even found a critical sec. issue that opened the "access
> > control open to the world" because I translated two string similar.
> I am not too thrilled about that either. Themers might decide to change
> strings and then we would need theme dependend translations.
Why would that be? You will not receive any new strings. Its only the place
where strings are translated that will change. IMO the "place where the
string is injected into the HTML" is by far the best place to translate that
string.
Bèr
More information about the development
mailing list