[TYPO3-german] &no_cache=1 vs. ampersand (&) --> & vs. XHTML validity

Ernesto Baschny [cron IT] ernst at cron-it.de
Mon Jan 30 11:06:32 CET 2006


Markus Labuhn schrieb am 27.01.2006 20:16:

>> Hallo. Wer generiert hier diesen Link konkret? Eine Erweiterung? Der
>> TYPO3-kern ist durchgängig "sauber", also er konvertiert alles schön
>> richtig in & um, sobald es zur Ausgabe fertiggemacht wird (also ein
>> A-tag erzeugt wird). Ich habe es selbst mal alles durchgesehen (siehe
>> meinen extrem-langen Beitrag in http://bugs.typo3.org/view.php?id=772).
>>
>> Also ich tippe also auf eine Erweiterung, die den Link nicht mittels
>> "typolink" erzeugt. Richtig?

> erzeugen tut ihn die Extension tx_loginboxmacmade_pi2:
> $templateMarkers['###FORM_URL###'] =
> $this->pi_linkTP_keepPIvars_url(array(),0,0,$this->conf['loginPage']);
> 
> ....und noch an anderer Stelle in dieser Extension.
> 
> Die Fkt. 'pi_linkTP_keepPIvars_url' kommt aus den TYPO3 Tiefen und wenn
> Du mal nach '&no_cache=1' in den TYPO3-Libs suchst, dann wirst Du
> fündig, sogar in der "Mutter" aller Funktionen, was das Erstellen von
> URLs anbelangt. Dort wird tatsächlich hardcoded abgefragt:
> nocache ? '&no_cache=1' : ''

Hallo nochmal,

wie in meinem Beitrag im Bug #772 zu lesen kannst, sollte man:

1) intern mit "&" arbeiten
2) nur htmlspecialchars() aufrufen, wenn man (X)HTML-Ausgabe konkret
generiert (z.B. ein Marker für ein XHTML-template)
3) keine Transformation, wenn man ein Header() schickt
4) vom Browser bekommt man immer ein "&", und damit arbeitet auch TYPO3
intern

pi_linkTP_keepPIvars_url() gibt nur die URL zurück, derjenige, der das
aufruft und diese URL letztendlich in HTML einsetzt, muss
htmlspecialchars aufrufen. Somit würde ich dies als Bug von
tx_loginboxmacmade_pi2 bezeichnen, kannst du dem Autor ja mitteilen.

Gruß,
Ernesto



More information about the TYPO3-german mailing list