Seite 1 von 1

& oder & innerhalb eines href-Attributes

Verfasst: 13.02.2009, 13:31
von Melegrian
Hallo,

bisher schrieb ich in Scripts zum Beispiel:

"<a href=\"...php?variable=".$parameter."&variablezwei=".$parameterzwei."\">";

Nun las ich auf dieser Seite https://www.validome.org/forum/viewtopicp-424-1.htm, dass es eigentlich wie folgt richtig wäre:

"<a href=\"...php?variable=".$parameter."&variablezwei=".$parameterzwei."\">";

Nur ist mir diese Schreibweise bisher in keinem Scriptbeispiel aufgefallen. Habe jetzt von einigen PHP-Seiten den Quelltext besehen, bei einigen wird in den Links das & als & im Quelltext dargestellt und bei anderen nicht. In einem eigen Script habe ich das nun für die Ausgabe erst einmal so umgeschrieben:

"<a href=\"".htmlspecialchars($linkausgabe)."\">"

Bin mir nur nicht sicher, ob das nun wirklich erforderlich ist und wenn ja, wann es erforderlich ist? Nur für die Ausgabe, damit da Dokument valide ist oder auch für die Übergabe, zum Beispiel bei einem Request. Dann wäre einiges unkorrekt, was ich bisher so schrieb.

MfG Mele

Verfasst:
von

Verfasst: 13.02.2009, 18:57
von Graccem
Das ist ausschließlich für die Ausgabe, damit das Dokument valide wird.
Wenn man den Link klickt, wird aus dem & in der Browserzeile ohnehin ein &.

Re: & oder &amp; innerhalb eines href-Attributes

Verfasst: 13.02.2009, 21:59
von Mork vom Ork
Melegrian hat geschrieben:wie folgt richtig wäre:

"<a href="...php?variable=".$parameter."&variablezwei=".$parameterzwei."">";

Nur ist mir diese Schreibweise bisher in keinem Scriptbeispiel aufgefallen.
Das ist ein typisches „Wenn tausend Fliegen Scheiße fressen“-Beispiel. Fast jeder macht es falsch, richtig ist es deshalb trotzdem nicht. Es ist nur einer der Fehler, die Browser stillschweigend umschiffen.
"<a href="".htmlspecialchars($linkausgabe)."">"
Das ist nicht nur vollkommen richtig, sondern dringenst notwendig. Kommt $linkausgabe nämlich von außerhalb, ist es ein Leichtes, dir fremden Code unterzuschieben - einfach, indem $linkausgabe mit beispielsweise "><script>böse_funktion()</script><x x=" gefüttert wird.

Es ist immer wieder ein Spaß, auf diese Weise anderer Leute Gästebücher mit eigenem CSS-Code zu „verschönern“ ;>

Verfasst:
von

Verfasst: 14.02.2009, 10:18
von Melegrian
Danke für die Antworten. Das mit der Sicherheit ist natürlich ein gewichtiges Argument, so werde ich mal zukünftig immer diese Schreibeweise vorziehen.

Gruß Mele