Hallo,

JoH asenau schrieb:
[...]
>> da habe ich nicht dran gedacht. Weiß da jemand mehr wie das bei Typo3
>> ist?
> 
> Soweit ich das überblicken kann, wird bei Nutzung von dataWrap und GPvar mit
> der internen Funktion t3lib_div::_GP gearbeitet. Angeblich sorgt die dafür
> daß GET und POST Parameter einem ordnungsgemäßen "unescape" unterzogen
> werden. Sollte also gefahrlos nutzbar sein (ggf. sogar besser als ein
> eigenes PHP-Script, wenn man sich damit nicht so genau auskennt ...)

Definitves und klares NEIN.

_GP kümmert sich einzig und alleine um ein korrektes strip-/addslashes.
Und das ist nur eine Remineszenz an die Uhrzeit von PHP. Es gibt/gab
nämlich eine Einstellung 'magic_quotes_gpc' [1] in der php.ini. Und
abhängig davon musste man bestimmte Zeichen  bei GET/POST maskieren,
oder eben auch nicht.

Da TYPO3 in allen Umgebungen laufen sollte prüft TYPO3 während der
Initialisierung wie dieser Wert gesetzt ist, fügt dann abhängig davon
die Maskierungszeichen in die bereits empfangenen GET/POST Variablen
ein, oder auch nicht.

In beiden Fällen sind die Maskierungszeichen danach in den GET/POST
Variablen enthalten! Demzufolge muss man um die korrekten Werte
auszulesen, diese Maskierunszeichen danach wieder entfernen. Und genau
das macht t3lib_div::_GP() et al: Es macht das wieder rückgängig, was
TYPO3 vorher während der Initialisierung eingefügt hat [2].

Vor SQL-Injection bewahrt das leider in *KEINSTER* Weise. :-<
Eher sogar noch im Gegenteil, da es ein gesetztes 'magic_quotes_gpc' ja
quasi wirkungslos macht. Wobei ein Entwickler sich auf die Korrektheit
einer solchen Einstellung eh *nie* verlassen darf!

Gruß,
Peter

[1] kurze Erklärung zu 'magic_quotes_gpc':
http://www.php-faq.de/q/q-magic-quotes.html

[2] Hier der Schnipsel aus 'index_ts.php'
---------------------snipp---------------------
if (!get_magic_quotes_gpc())    {
        $TT->push('Add slashes to GET/POST arrays','');
        t3lib_div::addSlashesOnArray($_GET);
        t3lib_div::addSlashesOnArray($_POST);
        $HTTP_GET_VARS = $_GET;
        $HTTP_POST_VARS = $_POST;
        $TT->pull();
}
---------------------snapp---------------------
-- 
Peter Niederlag
http://www.niekom.de * TYPO3 & EDV Dienstleistungen *
http://www.typo3partner.net * professional services network *
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an