phpbar.de logo

Mailinglisten-Archive

[php] Ampersands in URLs

[php] Ampersands in URLs

Andreas Lange andreas.lange at haas-media.de
Mit Mar 2 15:41:22 CET 2005


René Thiel wrote:
> Die QUERY_STRINGs, die ich behandeln möchte, enthalten möglicherweise
> ein "&" und/oder ein "&".
> Wenn dieses "&" (in der Form "&") _ausschließlich_ als Separator in
> QUERY_STRINGs vorkommt, ist das Thema geklärt.

Im Normalfall sollte das & nicht anders verwendet werden.

Die Quelle der Querystrings scheint ja dann undefiniert zu sein. Dann
kann man nicht ausschliessen, das dort auch ä z.B. vorkommen.

> Meine Frage war, ob es möglicherweise noch andere Einsatzfälle zur Verwendung
> dieses Zeichens "&" in einem QUERY_STRING geben kann, wo die Umwandlung
> in ein "&" schädliche Nebenwirkungen hätte.

> Etwas wie "ä" im Quelltext - ich weiß, dieses Beispiel ist unpassend für
> meine Frage - nur zur Verständlichmachung.

Wie der Query-String vom entsprechenden Server interpretiert wird ist
variabel, damit sind auch URLs möglich, die so aussehen:

http://www.domain.de/test.php?&&&&foo%%bar&&&&

Der Server also keine "Standard" $_GET Vars Behandlung der Daten
macht. Da kann es auch sein, das & ein Parameter zur Steuerung
von irgendwas ist. Wird aber in 99,999% alle Fälle _nicht_ vorkommen.
Ein Narrensicheres "Korrigieren" von kaputten URLs gibt es eben nicht.

Es kommt ganz darauf an, woher die URL stammt. Wenn Sie aus einem
fremden HTML-Quelltext stammt, hat man das zusätzliche Problem, das
viele Hobby-Programmierer dezent das Quoten von & -> & im
Quelltext "vergessen" und damit eigentlich defekter HTML-Quelltext
entsteht, wo wiederrum nur geraten werden kann, was denn nun richtig
ist und was nicht.

> Gruß
> René Thiel (Rennkuckuck)

-- 
Andreas Lange


php::bar PHP Wiki   -   Listenarchive