Spezialfall Frontend-Plugins
In Frontend-Plugins nutzt der Extension-Entwickler Methoden wie „t3lib_div::_GET()“ nur in Ausnahmefällen, da TYPO3-Frontend-Plugins auf der Klasse „tslib_pibase“ basieren. Daraus erbt man mit dem Array „piVars[]“ eine komfortable Zugriffsform auf Plugin-spezifische Nutzereingaben.
Da mehrere Frontent-Plugins auf einer Frontend-Seite kombiniert werden können, ist Ordnung höchstes Gebot: Zwischen den Parametern verschiedener Plugins bzw. Extensions darf es keine Namenskonflikte geben. Deshalb hat jedes Frontend-Plugin eine einzigartige Prefix-ID: „$this->prefixId“. Eine Request-Variable wird nur dann in das Array „piVars[]“ eines Frontend-Plugins aufgenommen, wenn ihr erstes Namensglied mit dem Wert der Prefix-ID übereinstimmt.
Im Array „piVars[]“ eines jeden Frontend-Plugins findet sich daher nur eine Auswahl der vorhandenen POST- und GET-Parameter. Bei Namensgleichheit hat POST Vorrang, ähnlich wie bei „t3lib_div::_GP()“. Es gibt für den Entwickler leider bisher keine elegante Möglichkeit zu bestimmen, ob ein Element in „piVars[]“ ursprünglich aus den GET-Variablen oder den POST-Variablen stammt. Dies wäre hinsichtlich der Vermeidung von CSRF nützlich.
Manchmal ist es nötig, aus einem Frontend-Plugin auf die Nutzer-Parameter eines anderen aktiven Frontend-Plugins zuzugreifen. In einem derartigen Fall muss auf „t3lib_div::_GP()“ oder ihre Pendants zurückgegriffen werden.





![TYPO3: 10 Jahre in 60 Sekunden zusammengefasst [Video]](http://t3n.de/uploads/t3n-news-post-361575_typo3_medium.jpg)

2 Antworten
von wir 12.04.2010 (20:42Uhr) 1.
Ein CSRF-Angriff kann nicht dadurch verhindert werden, dass Requests, die zu einer Veränderung von Daten führen, nur per HTTP-POST akzeptiert werden. Auch per HTTP-POST kann ohne weiteres ein gefälschter Request abgesetzt werden. Dazu erstellt der Angreifer eine Seite, auf die er das Opfer lockt. Dort wird der manipulierte Request entweder mittels einer clientseitigen Skriptsprache wie zum Beispiel Javascript erzeugt oder der Angreifer bringt das Opfer dazu, auf einen Button oder ein Bild zu klicken, wodurch der Request abgesetzt wird. Wählt der Angreifer als Ziel (target-Parameter) des Formulars einen unsichtbaren Frame oder Inlineframe, sind auch hier die Chancen gering, dass das Opfer den Angriff bemerkt. (http://de.wikipedia.org/wiki/Cross-Site_Request_Forgery#Nur_HTTP-Post_akzeptieren)
Was mich aber interessieren würde, ist ob TYPO3 Funktionen bereitstellt um Canaries in Formulare einzufügen.
von Get Variablen - PHP include - TYPO3 Foru… 17.06.2011 (14:06Uhr) 2.
[...] [...]