Fehlerhafte Bilddarstellung

Diskussion über Proxomitron, die deutsche Proxomitron-Distribution, technische Hintergründe, Erkenntnisse, Lösungen. Keine Fragen zur Benutzung.

Fehlerhafte Bilddarstellung

Beitragvon Mila » Mi, 04 Mai 2005 0:27

Hallo,

ich habe festgestellt, dass Proxomitron (Profi-Edition 4.51-0.9.0) beim Laden von JPEG-Bildern, die über PHP generiert werden, zu Fehlern führt. Ein kleiner Teil des Bildes wird ordnungsgemäß geladen, ein großer Teil jedoch erreicht nur sehr verzerrt und farblich inkorrekt den Bildschirm. Dieses Problem tritt bei allen von mir geprüften Browsern (Firefox, Opera, IE) auf und ist nach Deaktivierung von Proxomitron als Proxy nicht mehr vorhanden. Ob ein externer Proxy verwendet wird oder nicht, ändert dabei nichts (das nur als Hinweis).

Ein Beispiel:
Bild
Die grünliche Färbung zeigt den fehlerhaften Bereich deutlich.

Auch wenn es vermutlich vorerst keine Maßnahmen dagegen gibt, sollte es bitte zur Kenntnis genommen werden.

Grüße
Mila
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Michael » Mi, 04 Mai 2005 1:06

Hallo Mila,

zur Kenntnis genommen habe ich dein Problem jetzt.
Lieber wäre es mir aber gewesen, wenn wir gemeinsam die Ursache hätten herausfinden können.
Alleine kann ich nämlich nicht sehen, was bei dir falsch läuft.


Gruß,
Michael
Benutzeravatar
Moderator
Moderator
Beiträge: 5084
Registriert: Di, 23 Okt 2001 19:40

Beitragvon Mila » Mi, 04 Mai 2005 14:55

Kein Problem, wir können es ergründen. Was kann ich tun?
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Zocko » Mi, 04 Mai 2005 16:20

Mila hat geschrieben:Kein Problem, wir können es ergründen. Was kann ich tun?

Du hast keinen Link angegeben, das ist jedoch zum Nachprüfen unerläßlich.
Benutzeravatar
Proxomaximatorius Omnipotentius
Proxomaximatorius Omnipotentius
Beiträge: 3293
Registriert: Fr, 25 Jan 2002 14:29

Beitragvon Mila » Mi, 04 Mai 2005 17:23

Ein Link zum Nachprüfen anzugeben ist nicht sinnvoll, da die Fehler innerhalb eines Forums auftreten, bei dem eine Registrierung und auch einige Beiträge notwendig sind, um das Fotoalbum zu nutzen.

Ich habe festgestellt, dass Proxomitron das Bild, das an den Browser gesendet wird, scheinbar filtert - das Endfilterskript findet sich lesbar in einem Texteditor im "Quelltext" des Bildes.

Hier mal eines dieser Bilder zum Anschauen (eben auch in einem Texteditor):
Bild
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Zocko » Mi, 04 Mai 2005 17:53

Interessant, in der Datei finden sich wirklich Einträge wieder. Dazu erst einmal drei Fragen:
  • Was für einen genauen Namen – insbesondere die Dateiendung – hat das Bild?
  • Wird das Bild auch zerhackt, wenn du es irgendwo unzerstückelt hochlädst und dann anguckst?
  • Benutzt du die aktuelle Profi-Version und hast du Änderungen vorgenommen?
Benutzeravatar
Proxomaximatorius Omnipotentius
Proxomaximatorius Omnipotentius
Beiträge: 3293
Registriert: Fr, 25 Jan 2002 14:29

Beitragvon Michael » Mi, 04 Mai 2005 18:21

Mila hat geschrieben:Kein Problem, wir können es ergründen. Was kann ich tun?

Als erstes brauche ich einen Logauszug einer solchen Übertragung.
Öffne dazu das Proxomitron-Logfenster und stelle sicher, dass im Menü unter "Bearbeiten" folgende Punkte aktiviert sind:

[X] Seitenfilter und Listen
[X] HTTP-Header
[X] lokale Dateiaufrufe
[X] Sonstige Infos

Rufe dann das Bild auf.
Wenn die Übertragung zuende ist, kopiere den vollständigen Inhalt des Logfensters in die Zwischenablage und füge ihn hier im Forum, zwischen CODE-Tags, ein.



Gruß,
Michael
Benutzeravatar
Moderator
Moderator
Beiträge: 5084
Registriert: Di, 23 Okt 2001 19:40

Beitragvon Mila » Mi, 04 Mai 2005 18:38

1. Das Bild wird über . / album_picm.php?pic_id=ID aufgerufen (das ist der direkte Pfad zum Bild!). Das PHP-Skript sucht sich das Bild mit der entsprechenden ID, sendet einen "Content-type: image/jpeg"-Header, ändert das Bild unter Umständen in der Pixel-Größe und liest die Datei. Ich stelle eben fest, dass Firefox bei Eingabe des absoluten Pfades zum Bild Probleme macht - anstatt wie z.B. der Internet Explorer das Bild anzuzeigen, liefert er mir einen Haufen unsinniger ASCII-Zeichen - praktisch den Quellcode des Bildes.

2. Nein, es wird ordnungsgemäß angezeigt.

3. Ich benutze wie erwähnt die Profi-Version 4.51-0.9.0 und habe Änderungen vorgenommen:

Aktivierung: Referer: [SL] URL der aktuellen Seite (Out)
Änderung des Proxomitron Präfixes für URL-Kommandos auf: /pra.fix
Ein paar wenige selbsterstellte HTML-Filter sind nicht Auslöser des Problems, da sich auch nach Deaktivierung dieser nichts ändert.

Im Bypass-Modus, sowie ohne Verwendung von Proxomitron, gibt es keine Probleme.
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Mila » Mi, 04 Mai 2005 18:43

@Michael: Ich habe das Bild direkt aufgerufen, d.h. nicht innerhalb einer HTML-Datei.

Code: Alles auswählen
New Message Log Window....
Client opened: total 1

+++GET 1953+++
GET /album_picm.php?pic_id=1685 HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-gsarcade-launch, application/x-shockwave-flash, */*
Accept-Language: de
Cookie: STBBSbyDeX_sid=1c7268f5c16ae629ceef9d6beecb5ada
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) (www.proxomitron.de)
Host: www.schattentanz.de
Connection: keep-alive
Accept-encoding: gzip, deflate

+++RESP 1953+++
HTTP/1.0 200 OK
Date: Wed, 04 May 2005 16:41:06 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.5 mod_perl/1.28 mod_ssl/2.8.14 OpenSSL/0.9.6b
X-Powered-By: PHP/4.3.10
Set-Cookie: STBBSbyDeX_data=s%3A0%3A%22%22%3B; expires=Thu, 04-May-06 16:41:07 GMT; path=/; domain=.schattentanz.de
Set-Cookie: STBBSbyDeX_sid=1c7268f5c16ae629ceef9d6beecb5ada; path=/; domain=.schattentanz.de
Keep-Alive: timeout=4, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
<start> 1953: JS.Fn.Block: Fenster verschieben / Größe ändern
<start> 1953: JS.Fn.Block: Fenster in Vordergrund/Hintergrund schalten
<start> 1953: JS.Fn.Block: Überschreiben der Statuszeile
<start> 1953: JS.EH.Entf: Tastendrücke/Tastenkombinationen
<start> 1953: JS.EH.Entf: Änderung der Fenstergröße/-position
<start> 1953: JS.EH.Entf: Seite verlassen / Fenster schließen (onUnload)
<start> 1953: JS.EH.Entf: Abbruch des Ladevorgangs (onAbort)
<start> 1953: JS.EH.Entf: Ziehen/Ablegen von Elementen [IE,FF]
<start> 1953: JS.EH.Entf: Aufruf der Druckfunktion
<start> 1953: JS.EH.Entf: Drücken/Loslassen von Maustasten (onMouseDown/onMouseUp)
<start> 1953: JS.Fn.Konf: PopUps unterdrücken v.1.0.1
<start> 1953: JS.Fn.Konf: Nach jedem Mausklick für 2 Sekunden PopUps zulassen v.1.0.1
<start> 1953: JS.Fn.Konf: Bei zugelassenen PopUps alle Bedienelemente aktivieren v.1.0.1
<start> 1953: [MB] Konf: Umfang der Ersatztexte: Stufe 2
Match 1953: [# WICHTIG! #] Prox: Start-Filterskript einfügen [P] v.2.3.4
<end> 1953: [# WICHTIG! #] Prox: End-Filterskript einfügen v.1.3.1
Connection stored: 1953
+++CLOSE 1953+++
Client closed: total 0
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Mila » Mi, 04 Mai 2005 18:57

Scheinbar wird ein "text/html"-Header gesendet, kein "image/jpeg". Das würde es natürlich erklären.

edit: Und das heißt ja im Endeffekt, dass nicht Proxomitron das Problem ist, sondern das Skript.
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06

Beitragvon Michael » Do, 05 Mai 2005 2:15

Mila hat geschrieben:Scheinbar wird ein "text/html"-Header gesendet, kein "image/jpeg". Das würde es natürlich erklären.

Ja. Dass es ein Content-Type Problem ist, war eigentlich von Anfang an klar, weil alle Seitenfilter diese Angabe überprüfen und es in den aktuellen Paketen überhaupt keinen Filter gibt, der bei JPEG-Daten aktiv werden sollte.
Es war nur noch unklar, wodurch der Fehler verursacht wird. Es hätte z.B. auch sein können, dass du über einen ungeeigneten Headerfilter die Typangabe verändert hast.

edit: Und das heißt ja im Endeffekt, dass nicht Proxomitron das Problem ist, sondern das Skript.

Wenn du das Skript ändern bzw. auf den Autor einwirken könntest, dann wäre das auf jeden Fall die beste Lösung. Falsche Content-Type-Angaben verursachen nicht nur bei Proxomitron Probleme. Andere Betroffene haben nur kaum eine Chance, die Fehlerursache selbst zu erkennen.
Unabhängig davon werde ich aber versuchen, die Wahrscheinlichkeit solcher Probleme weiter zu reduzieren. Mit der nächsten Version sollte zuminest dein Problem nicht mehr auftreten.


Gruß,
Michael
Benutzeravatar
Moderator
Moderator
Beiträge: 5084
Registriert: Di, 23 Okt 2001 19:40

Beitragvon Sacharja » Do, 05 Mai 2005 7:25

Hallo Mila,
Änderung des Proxomitron Präfixes für URL-Kommandos auf:

Wenn das dein richtiger Präfix ist sorge dafür, dass er geheim bleibt. Es ist zur Sicherheit da, damit niemand 3. Url-Kommandos von Proxomitron ausnützen kann.

Gruß,
Sacharja
Bild
Benutzeravatar
Proxo-Legende
Proxo-Legende
Beiträge: 1091
Registriert: Fr, 07 Mär 2003 13:02

Beitragvon Mila » Do, 05 Mai 2005 12:18

@Michael: Ich konnte auf das Fremdskript einwirken - Problem ist damit beseitigt.

@Sacharja: Schon klar.

Danke.
Einsteiger
Einsteiger
Beiträge: 9
Registriert: Mi, 04 Mai 2005 0:06


Zurück zu Diskussion

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron