[TYPO3-german] Crossite Scripting t3lib_div::_POST('variable')

Patric Pesch p.pesch at 11com7.de
Thu Jul 1 10:34:40 CEST 2010


schrieb Georg Ringer:
> Am 01.07.2010 08:46, schrieb Chris Bernhard:
>> Okay, dankeschön für den Hinweis, aber reicht dann nicht schon sowas wie
> 
>> $this->myfunction(htmlspecialchars(t3lib_div::_POST('mypostvar')));
> 
> nein ein htmlspecialchars reicht *nicht* aus
> 
> Georg

IMHO ist es gerade bei so einer Frage immer nett auch kurz zu erklären,
warum das so ist.

1. htmlspecialchars() ist eben nur für eine halbwegs sichere Ausgabe per
html gedacht. Für die die DB bringt das nichts!

2. Vorausgesetzt du nutzt mysql hätte dir "mysql_real_escape_string" das
gleiche Ergebnis geliefert wie "fullQuoteStr".

3. Wenn man ein Framework einsetzt, dann sollte man sich auch die
Methoden des Frameworks halten. Gerade bei Erweiterungen, die ggf. nicht
nur von dir genutzt werden, ist das wichtig. Z.B. bringt dir ein
mysql_real_escape_string nichts, wenn du eine andere DB einsetzt (per
DBAL). Und da greift dann die fullQuoteStr Methode von DBAL, die die
Standard Methode überschreibt und sich um das richtige escapen kümmert.
So wird die Erweiterung stabiler und sicherer.

Grüße
Patric


More information about the TYPO3-german mailing list