dagegen
Goto Top

Valider HTML Code zum Anzeigen von Bildern macht Probleme

Hallo,

ich möchte validen HTML Code erzeugen. Dazu muss ich auch im Image-Tag das & in der URL durch & ersetzen, also z.B.
<img src="meinbild.m?param1=5**&amp;**param2=7" alt="test" />  

Beim Testen funktioniert dies auch einwandfrei, nur in den Logfiles sehe ich, dass viele Aufrufe nicht funktionieren.
In den nicht funktionierenden Aufrufen wurde das ; nochmal kodiert:
..../meinbild.m?param1=5**&amp%3B**param2=7

Der User-Agent ist in diesen Fällen zu 99% MSIE 6.0 und NT 5.1 (also XP), ich weiß nicht, ob da ein Zusammenhang besteht.

Die Lösung besteht im Moment leider darin, dass wir jetzt nur das & in der Bild-URL haben, so dass man im Firefox-Validator jetzt immer das rote X statt dem grünen Häkchen bekommt und das ist unschön face-wink

Hat jemand dieses Problem schon einmal gehabt?
Es ist extrem schwierig, danach zu suchen, da man mit & und &amp; keine brauchbaren Suchergebnisse kriegt.

Gruß

Content-ID: 116732

Url: https://administrator.de/forum/valider-html-code-zum-anzeigen-von-bildern-macht-probleme-116732.html

Ausgedruckt am: 23.12.2024 um 17:12 Uhr

57675
57675 25.05.2009 um 17:00:43 Uhr
Goto Top
also meines erachtens hast du leider einen Denkfehler, das &amp; machst du bei Texten wenn du schreiben willst bla, bla & bla. In einem Link für brauchst du das & das normal. Das sollte auch validiert möglich sein.
RoterFruchtZwerg
RoterFruchtZwerg 25.05.2009 um 17:04:01 Uhr
Goto Top
Also erstmal ist &amp; innerhalb eines HTML Dokumentes völlig valide und du solltest es auch nutzen. Jeder UserAgent der dein genanntes Problem aufweist ist schlichtweg falsch implementiert.
Dass der IE6 das machen soll, wäre mir neu. Ich mache schon lange Websites (auch vor dem IE6) und hatte das Problem nie.

Ich könnte mir vorstellen, dass die Aufrufe von irgendwelchen Bots oder anderen UAs kommen, die entweder nur die Engine des IE nutzen, oder einfach vorgeben der IE zu sein.

Kannst du anhand deiner Logs ein Verhalten feststellen, dass es sich bei diesen UAs vielleicht nicht wirklich um normale Surfer handelt?

Wie groß ist der Anteil der fehlerhaften Requests?

Wie gesagt, ich würde den validen Quelltext bevorzugen.
RoterFruchtZwerg
RoterFruchtZwerg 25.05.2009 um 17:06:43 Uhr
Goto Top
Nein. & ist im gesamten HTML Kontext entsprechend zu escapen, also als "&amp;" zu schreiben, sofern es nicht die Funktion hat, ein HTML Entity einzuleiten.
Völlig egal ob nun innerhalb oder ausserhalb eines HTML Tags oder Attributes.
dagegen
dagegen 26.05.2009 um 10:29:02 Uhr
Goto Top
Danke für die Antworten. Das Problem tritt in grob 1% der Abrufe auf. Habe das gestern 2 Stunden in eine temporäre Tabelle mitgeloggt, da waren es 2500 von 243000 Abrufen gesamt. Ungewöhnliches ist mir nicht aufgefallen, was könnte das sein?
RoterFruchtZwerg
RoterFruchtZwerg 26.05.2009 um 11:17:10 Uhr
Goto Top
Ungewöhnliches ist mir nicht aufgefallen, was könnte das
sein?

Schau ob die IP zu einem Firmennetz oder einem "normalen" Dial-In Pool gehört.
Überprüfe ob der Nutzer alle Ressourcen einer Seite in einer sinnvollen Reihenfolge abruft (Dokument, dann CSS und Bilder...).
Kontrolliere wie lange er sich auf einer Seite aufhält.

Damit dürftest du schnell erkennen können, ob es sich wirklich um einen Nutzer oder um eine Software handelt.
dagegen
dagegen 26.05.2009 um 15:31:17 Uhr
Goto Top
Also schlauer bin ich nicht geworden. Es sind sogar eingeloggte Nutzer dabei, die IPs sind meist in Deutschland, einige sogar von der Regierung *omg*

Da das Problem anscheinend niemand sonst kennt, befürchte ich mittlerweile, dass das Problem bei uns in den Tiefen der IT liegt *kreisch*
RoterFruchtZwerg
RoterFruchtZwerg 26.05.2009 um 16:27:55 Uhr
Goto Top
bei euch in der IT? Liegt denn noch irgendein Proxy oder eine Cache-Funktion zwischen Server und User die die Daten modifizieren könnte?

Ich kann mir da eigentlich grad nichts vorstellen...

Gibt es denn Anfragen von exakt den selben User-Agents die keinen Fehler aufweisen?

Gibt es Anfragen von den fehlerhaften Usern an andere Ressourcen welche fehlerfrei stattfinden, obwohl sie eigentlich genauso codiert sind?