Probleme mit captcha in IE

Probleme mit captcha in IE

am 06.01.2008 18:17:10 von Heiko Pliefke

Hallo NG und ein gesundes Neues!

Ich habe in ein Gaestebuch ein Captcha eingebunden, was eigentlich auch
problemlos funktioniert (ja ich weiss - Gaestebuecher braucht kein
Mensch und Captchas schon gar niemand, aber der Webmaster will das so...
;)).

Eigentlich deshalb, weil es im Opera/Firefox/Konqueror/Galeon/etc...
funktioniert, nur im IE nicht.

Ich habe jetzt schonmal vorm Start der Seite den Cache und Temp geleert,
weil ich vermutete, der Browser greift auf ein altes Bild zurueck - aber
hat nichts gebracht.

Auch pragma-header (s.u.) haben nichts geholfen:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Pragma: no-cache");

Der IE zeigt immer noch "falscher Code" an, obwohl ein zum Bild
passender Code eingegeben wurde.


Interessant ist allerdings:
Wenn ich die Gaestebuch-Seite "direkt" aufrufe, funktioniert es auch im IE.
Normalerweise laeuft die GB-Seite in einem Frame (ja ich weiss, Frames
braucht kein Mensch...).
Frame aber deshalb, weil der "normale" HTML-Content auf einem Web liegt,
das kein PHP unterstuetzt (und weil der Webmaster das halt so wollte...).

Ausserdem funktioniert es im IE auch auf meiner lokalen AMP-Installation
(out of the box xampplite) / auf dem von Strato gehosteten Web aber eben
nicht:

Also lauffaehige Kombinationen:
- non IE Browser || localhost || direkt_ohne_Frame

nicht lauffaehig:
- IE Browser && Strato && im_Frame


Das war jetzt ein bissl viel Text fuer ein kleines Problem - ich will
jetzt auch nicht viel konkreter werden oder Code einpasten - ich frage
nur, ob hier jemand ein paar Ideen/Loesungsansaetze hat, womit ich das
IE-Problem eingrenzen koennte?

Laedt der IE Bilder/Daten aus Frames anders als direkt? Bringen die
Pragma-Headers ueberhaupt irgendetwas in der Sache? Gibt es womoeglich
PHP-Einstellungen, die da veraentwortlich sind?

Vielen Dank fuers Lesen und fuer jegliche Antworten/Tipps/Ideen!!

Schoene Gruesse aus Erlangen

Heiko Pliefke

Re: Probleme mit captcha in IE

am 06.01.2008 19:05:03 von Joerg Behrens

Heiko Pliefke schrieb:
> Hallo NG und ein gesundes Neues!
>=20
> Ich habe in ein Gaestebuch ein Captcha eingebunden, was eigentlich auch=

> problemlos funktioniert (ja ich weiss - Gaestebuecher braucht kein
> Mensch und Captchas schon gar niemand, aber der Webmaster will das so..=

> ;)).
>=20
> Eigentlich deshalb, weil es im Opera/Firefox/Konqueror/Galeon/etc...
> funktioniert, nur im IE nicht.
>=20
> Ich habe jetzt schonmal vorm Start der Seite den Cache und Temp geleert=
,
> weil ich vermutete, der Browser greift auf ein altes Bild zurueck - abe=
r
> hat nichts gebracht.

Dann nimm mal die grosse Keule in die Hand und sorge dafuer das die URL=20
zum Captcha Bild einzigartig wird in dem du einfach einen Parameter mit=20
uebergibst der einen Random- String (alt. einen Unixtimestamp) enthaelt. =

Wenn du kannst serverseitig oder da es in deinem Falle eh schon nicht=20
mehr viel ausmacht zur Not auch per JS.



> Auch pragma-header (s.u.) haben nichts geholfen:
> header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
> header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
> header("Pragma: no-cache");
>=20
> Der IE zeigt immer noch "falscher Code" an, obwohl ein zum Bild
> passender Code eingegeben wurde.

Gruss
Joerg

--=20
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: Probleme mit captcha in IE

am 06.01.2008 19:11:08 von Michael Fesser

..oO(Heiko Pliefke)

>Ich habe in ein Gaestebuch ein Captcha eingebunden, was eigentlich auch
>problemlos funktioniert (ja ich weiss - Gaestebuecher braucht kein
>Mensch und Captchas schon gar niemand, aber der Webmaster will das so...
>;)).
>[...]
>
>Interessant ist allerdings:
>Wenn ich die Gaestebuch-Seite "direkt" aufrufe, funktioniert es auch im IE.
>Normalerweise laeuft die GB-Seite in einem Frame (ja ich weiss, Frames
>braucht kein Mensch...).
>Frame aber deshalb, weil der "normale" HTML-Content auf einem Web liegt,
>das kein PHP unterstuetzt (und weil der Webmaster das halt so wollte...).
>[...]

Also ist das eigentliche Problem der "Webmaster". Wieso macht der seinen
Kram nicht selbst, wenn er doch offenbar eh alles besser weiß? Und warum
klärst Du ihn nicht darüber auf, daß seine Vorstellungen einfach nur
scheiße sind?

Micha

Re: Probleme mit captcha in IE

am 06.01.2008 22:18:20 von rkhbng

Heiko Pliefke schrieb:
> Ich habe jetzt schonmal vorm Start der Seite den Cache und Temp
> geleert, weil ich vermutete, der Browser greift auf ein altes Bild
> zurueck - aber hat nichts gebracht.
>
> Auch pragma-header (s.u.) haben nichts geholfen:
> header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
> header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
> header("Pragma: no-cache");

Bei mir funktioniert zuverlässig:

if (!headers_sent())
{ header('Expires: Thu, 01 Apr 2003 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Vary: *');
header('ETag: '.uniqid(''));
}

Der Vary-Header sorgt bei IE5 und IE6 sicher für Nicht-Cachen. Ob IE7 diesen
(nützlichen) Fehler auch noch hat, weiß ich nicht.

> Wenn ich die Gaestebuch-Seite "direkt" aufrufe, funktioniert es auch
> im IE. Normalerweise laeuft die GB-Seite in einem Frame (ja ich
> weiss, Frames braucht kein Mensch...).
> Frame aber deshalb, weil der "normale" HTML-Content auf einem Web
> liegt, das kein PHP unterstuetzt (und weil der Webmaster das halt so
> wollte...).

Arbeitest Du mit Sessions? Es kommt vor, dass ein Frame noch nichts von
einer Session mitgekriegt hat, bzw. PHP zur Anlage einer neuen Session
zwingt. Ich umgehe das mit:

session_set_cookie_params(0,'/xxx/yyy/');
session_name ('yyy');
session_start();

viele grüße
ralph

Re: Probleme mit captcha in IE

am 07.01.2008 00:02:10 von Heiko Pliefke

Joerg Behrens schrieb:
> Dann nimm mal die grosse Keule in die Hand und sorge dafuer das die URL
> zum Captcha Bild einzigartig wird in dem du einfach einen Parameter mit
> uebergibst der einen Random- String (alt. einen Unixtimestamp) enthaelt.
> Wenn du kannst serverseitig oder da es in deinem Falle eh schon nicht
> mehr viel ausmacht zur Not auch per JS.
>
>


Hi Joerg! Sehr geniale Idee! War ich naemlich selbst auch drauf gekommen
;) - hat nur leider auch nicht geholfen... und hatte ich auch vergessen
im Posting zu erwaehnen...


Ich hab jetzt die "Loesung":
Der IE blockt standardmaessig ThirdPartyCookies - und da die Session ja
erst in einem Frame auf einem anderen Web angelegt wurde, hat IE das
fuer ThirdParty gehalten und die Cookies geblockt!

Ist natuerlich auch ne bloede Sache, dass Hauptseite und Frame auf
unterschiedlichen Domains liegen (und im Prinzip die Hauptursache).

Es erklaert auch, warums auf meiner xampp (da war ja beides im
localhost), sowie im direkten Aufruf (da war es ja kein ThirdParty mehr)
funktioniert hat.


Nach etwas Recherche bin ich auf P3P gestossen und gaukele nun dem IE
eine privacy policy vor:
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');

Das ist zwar ganz uebel, aber es geht...


Vielen Dank fuer alle Muehen und Antworten und noch eine gute Nacht!
Mfg
HEiko

Re: Probleme mit captcha in IE

am 07.01.2008 00:04:52 von Heiko Pliefke

Michael Fesser schrieb:
> Also ist das eigentliche Problem der "Webmaster". Wieso macht der seinen
> Kram nicht selbst, wenn er doch offenbar eh alles besser weiß? Und warum
> klärst Du ihn nicht darüber auf, daß seine Vorstellungen einfach nur
> scheiße sind?
>
> Micha

Im Normalfall dauern die kleinen Problemchen nur ne halbe Stunde - aber
das Ding war jetzt irgendwie magic und doch etwas zeitaufwaendiger. Und
die Hauptzielgruppe der Seite nutzt nunmal IE...

Mfg
HEiko