[TYPO3-german] Unschöne oder verschmutzung von Parametern, ie config.linkVars=L

christian reiter cr at cxd.de
Fri Nov 3 12:41:08 CET 2006


Hallo,

Das ist eine unschöne Sache, auch wenn man damit TYPO3 nicht "hacken" kann
macht es die Kunden unsicher und verärgert sie wenn zB Spaßvögel auf diese
Weise böse Behauptungen in die Links einbringen können, die dann bei
Mouseover immer unten in der Statuszeile angezeigt werden...besonders schön
ist es wenn es den Leuten gelingt die seiten aufzurufen wenn gerade der
Cache gelöscht war und dann gehen die manipulierten Links auf allen Seiten
in die gecacheten Menüs ein. Das ist zB auf der
http://www.esv.or.at/esv/index.php?id=225 offenbar passiert

hatte das Problem auch schon mal
http://lists.netfielders.de/pipermail/typo3-dev/2006-April/017091.html

Für mich war die Lösung am Ende doch eine PHP Geschichte. Die Sache musste
schleunigst weg.

In den allermeisten Fällen sind Linkvar-Inhalte ja numerisch (L=65);
manchmal sind sie vielleicht auch Text, aber dass sie HTML sind kommt wohl
ganz selten vor.
Darum hab ich mir ein neues Config Parameterchen ausgedacht
config.allowNonNumericLinkVars. Wenn diese NICHT auf 1 gesetzt sind werden
alle Linkvars auf numerische Werte gesetzt, nur wenn sie gesetzt ist werden
auch Textstrings durchgelassen. Ich hatte in allen meinen Websites jemals
nie etwas anderes als nur numerische Linkvar-Parameter - meistens ist es ja
unr L und dann gab es noch ein paar Sonderanwendungen die in Typo3
integriert werden sollten und ihre Variablen durchgeschleicht haben mochten,
die waren aber auch numerisch.
Der Ort wo man sich so eine Abfrage einbauen kann ist die
class.tslib_pagegen.php in typo3/sysext/cms/tslib ab ungefähr Zeile 234

if ($GLOBALS['TSFE']->linkVars) {
...
     if (!is_array($GET[$val])) {
      $GLOBALS['TSFE']->linkVars.='&'.$val.'='.rawurlencode($GET[$val]);
     } else {

$GLOBALS['TSFE']->linkVars.=t3lib_div::implodeArrayForUrl($val,$GET[$val]);
     }
...
  }
d.h. im Originalcode wird nur rawurlencode gemacht aber ansonsten alles
durchgelassen.


Generell würde ich es für sinnvoll erachten wenn man für die Linkvars
Vorgaben machen könnte, dazu gäbe es sinnvoll 2 Optionen

1. einen regulären Ausdruck, der auf die Linkvar angewendet wird
oder
2. eine Vorgabe von Möglichkeiten, aus denen ausgewählt werden kann.


Grüsse,

Christian Reiter


"Peter Quiel" <peter.quiel at uni-paderborn.de> schrieb im Newsbeitrag
news:mailman.9532.1162552196.30218.typo3-german at lists.netfielders.de...
Servus,

hat jemand eine Lösung für das 'verschmutzen' des L Parameters?
Eine Seite, die z.B. den &L=X für die Mehrsprachigkeit nutzt, kann man mit
&L=BLABLABLA&no_cache=1 dazu bringen, dass auch bei anderen Aufrufen der L
Parameter mit BLABLABLA angezeigt wird. Das ist jetzt nicht unbedingt eine
Sicherheitslücke, unschön ist es allerdings auf jeden Fall.


Das kann dann so aussehen:
http://www.google.de/search?hl=de&q=L%3Dhttp%253A%252F%252Fbusca.uol.com.br%252Fuol%252Findex.html%253F&btnG=Suche&meta=

Jetzt würde ich gerne den Wertebereich eines durch config.linkVars
definierten
Parameters einschränken.

Mit TS kann ich keine Variablen in $GLOBALS["TSFE"]->linkVars setzten,
richtig?

Gibt es eine andere Möglichkeit außer eine eigene PHP-Funktion einzubinden?

Gruß,
Peter








More information about the TYPO3-german mailing list