Anzeige eines Bildes mit PHP

mkoeni1

Erfahrenes Mitglied
Hallo Leute,

ich habe gegen Spam eine Klasse zur Generierung eines captcha erstellt. Jetzt habe ich das Problem, das der Firefox das Bild anzeigt und der IE nicht!.

Der Zeichensatz wird korrekt ausgegeben mit echo $content; // Ausgabe GIF89a
PHP:
 echo $content;
 echo '<img src="data:image/gif;base64,'.base64_encode($content).'">';  // erzeugen der Grafik mit HTML Mitteln

Hat jemand eine Idee, wieso der IE an der Stelle nichts anzeigt?

Vielen dank und Gruß
Matze
 
Hi,

nein das mit den Kompatibilitätsproblemen scheint nicht der Fall zu sein. Ich hatte es unter ie7, ie6, ie5.5 getestet und es wird einfach nichts angezeigt.
Gibts es weitere Lösuungsvorschläge? Es muss am Code liegen. Komisch ist nur, dass der FF es sauber anzeigt.


Gruß Matze
 
Hi,

PHP:
echo '<img src="data:image/gif;base64,'.base64_encode($content).'">';

hmm, kenn' ich in der Form gar nicht...

Schreib doch einfach ein kleines Script, das die Grafik mitsamt den erforderlichen Headern liefert und gib das als src im img-Tag an.

LG
 
Hallo,

werde ich heute abend mal versuchen.
Das Witzige an der Funktion, ist ja, dass diese im FF ein Bild anzeigt mir einer generierten Zufallszahl.


Vielen Dank und Gruß
Matze
 
Der Internet Explorer unterstützt das data-URL-Schema ganz einfach nicht. Deshalb kann auch die Grafik nicht angezeigt werden.
 
Also wenn es Dir mehr um den Spamschutz als um das Bild geht, kannst Du es zur Not auch ganz anders lösen:

PHP:
$zahl1 = rand(1, 100);
$zahl2 = rand(1, 100);
echo "Bitte die Zahlen $zahl1 und $zahl2 zusammenzählen";

Gruß Thomas
 
Hi,

danke für den Vorschlag.
Und dieses Rechenbeispiel jetzt noch in einem Bild, das wäsrs doch!

In erster Linie geht es mir um den Spamschutz.

Kann denn ein Bot eine Rechnung nicht lösen?

Vielen Dank und Gruß Matze
 
Der Sinn von grafischen Captchas ist ja gerade, dass die automatische optische Texterkennung relativ kostenintensiv ist, für einen (sehenden und alphabetisierten) Mensch das jedoch eine Kleinigkeit ist, solange der Text auch für diesen lesbar ist.

Eine kleine mathematische Formel in Textform lässt sich hingegen wenn das Muster bekannt ist auch vom Computer recht einfach lösen. Es müsste ja nur im Quelltext nach der Zeichenfolge „Bitte die Zahlen x und y zusammenzählen“ gesucht werden.

Die allgemeine Frage bei Captchas ist jedoch, ob der Aufwand überhaupt gerechtfertigt ist.
 
Zurück