Sicherheitscode wird falsch berechnet?!? [GELÖST]

Diskussion zum Modul Guestbook für ConPresso 4
Antworten
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Sicherheitscode wird falsch berechnet?!? [GELÖST]

Beitrag von Gandalf »

Hallo Matthias,

habe nun, wegen dem Spammüll :x , die Version 4.1.0 installiert und habe hierbei das Problem, dass offensichtlich der angezeigte Sicherheitscode nicht mit der Eingabe übereinstimmt.

Bekomme 1234 angezeigt, gebe 1234 ein, jedoch erhalte ich nach "submit" die Meldung, dass der Code nicht stimmt.

Habe upgegradet und die Thematik vorher intensiv lokal getestet, Problem hierbei war nur, dass ich keine GDLIB zur Verfügung habe die das PNG Bildchen anzeigen kann. Also die Sache hochgeladen Einstellungen vorgenommen alles bestens, nur eben die Prüfung des Codes geht in's Höschen.

Wo kann ich ansetzen?
Gruß Gandalf
Zuletzt geändert von Gandalf am 10.08.2007 18:00, insgesamt 1-mal geändert.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo Gandalf,

du darfst den $captcha_key in der mod_guestbook\_include\captcha\captcha_config.inc.php(.dist) nicht veränden, so wie ich es in der Gästebuch-Online-Hilfe geschrieben habe.

Denn dieser wird an mehreren Stellen im Gästebuch auf einen Standard-Wert gesetzt, wenn das include der captcha_config.inc.php(.dist) nicht gelingt.
Und leider habe ich bemerkt, dass dieses include nicht innerhalb des Parsing-Prozesses funktioniert, wodurch die Überprüfung fehl schlägt. Genauer wird in diesem Fall bei der Codierung der Captcha-Zahl bei der Erstellung des Bildes ein anderer Schlüssel benutzt als bei der Codierung dieser Zahl, die der Benutzer ins Textfeld eingibt.

Ich hoffe, dies ist bei dir das Problem.
Ich warte auf deine Rückmeldung.

Gruß Matthias

P.S. wenn du den Code änderst, musst du ihn an den folgenden Stellen auf den gleichen Wert ändern:
  • _include\captcha\captcha.php (35): $captcha_key = 'deinEigenerSchlüssel';
  • _include\captcha\rechen-captcha.php (29): $captcha_key = 'deinEigenerSchlüssel';
  • _include\parser_r_guestbook.inc.php (262): $captcha_key = 'deinEigenerSchlüssel';
P.P.S.
Die endgültige Lösung für dieses Problem steht hier: http://community.conpresso.de/viewtopic ... 1527#21527
Und die für ein anderes hier besprochenes Problem steht direkt davor: http://community.conpresso.de/viewtopic ... 1526#21526
Zuletzt geändert von Matthias V am 15.09.2007 16:39, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Beitrag von Gandalf »

Hallo Matthias,

gesagt, getan, Du hattest mal wieder Recht. Ich wundere mich dennoch, dass dies nur mir nach fast einem halben Jahr der Bereitstellung aufgefallen ist. Demnach gehe ich davon aus, dass kein User von der individuellen Codierung der Zufallszahl Gebrach macht.

So what, et fluppt und ich hoffe die Spamrobots suchen sich nun eine andere Website :lol:

Danke für die rasche Hilfe, bis dann

Gruß Gandalf
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Ja, es hatte sich bisher nur ein Gästebuch-Benutzer direkt bei mir gemeldet. Sonst hätte ich dir nicht so schnell die Problemlösung präsentieren können.

Dieser Captcha_key ist nur dafür da, falls sich irgend ein Spambot auf dieses Captcha einschießt und es ihm gelingt, die in der Session hinterlegten und kodierten Zahl zurück zu der im Bild dargestellten Zahl zu übersetzen. Und dann würde man es diesem Spambot leicht machen, wenn alle Gästebücher den gleichen Key zur Verschlüsselung verwenden.

Aber ich denke, das wird so schnell nicht passieren.
Das Captcha scheint auch recht gut zu sein. Ich habe es von dieser Webseite: http://www.stoppt-den-spam.info/webmast ... index.html wo schon eine erweiterte Version dieses Captchas veröffentlicht ist.

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Beitrag von Gandalf »

Matthias V hat geschrieben:Und leider habe ich bemerkt, dass dieses include nicht innerhalb des Parsing-Prozesses funktioniert, wodurch die Überprüfung fehl schlägt. Genauer wird in diesem Fall bei der Codierung der Captcha-Zahl bei der Erstellung des Bildes ein anderer Schlüssel benutzt als bei der Codierung dieser Zahl, die der Benutzer ins Textfeld eingibt.
By the way, ich setze diese/Deine Captchalösung auch im Kontaktmodul ein und dies mit einem eigenen Schlüssel und dort funktioniert die Thematik auch mit dem include....

Gruß Gandalf
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Ja, beim Kontakt-Modul findet die Überprüfung des Captcha nicht im Parser statt, sondern ganz normal in der _includes/index.inc.php.

Und beim Gästebuch hat es sich als Vorteilhaft erwiesen, wenn die Überprüfung der Pflichtfelder und des Captchas im Parsing-Prozess statt findet, ... wo das include leider nicht funzt.

Und es funzt nicht, weil da einige Variablen wie $directory für das Modulverzeichnis nicht durchgelassen werden, auch nicht nach Globalisierung. Und relative Pfade funktionieren auch nicht so richtig.

Ich muss mir das auf jeden Fall noch einmal genau anschauen.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Insane
ConPresso-Newbie
Beiträge: 11
Registriert: 06.08.2007 15:21
Danksagung erhalten: 2 Mal

Beitrag von Insane »

Ich glaube ich habe ein ähnliches Problem, oder das gleiche. Hatte nur noch keine Zeit das zu posten.

Ich habe das Captcha eingebaut (Zahl auf Bild). Die Navigation ist so, das der User eine Rubrik auswählt, das Eingabeformular ausfüllt und abschickt und dann Bestätigung angezeigt bekommt.

Wenn er jetzt jedoch erneut auf die Rubrik klickt und damit das Formular aufruft, dann ist die Zahl die gleiche wie beim vorhergehenden Formular. Erst wenn ich die nächsthöhere Rubrik neu aufrufe und dann die Unterrubrik mit dem Formular oder ein zweites Mal die Rubrik, wird ein neues Captcha erzeugt.

Wodurch kann das entstehen?

Gruß,
Insane
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo Isane,

ich glaube diese ist ein Browserproblem, dass der Browser das Bild nicht nachlädt. Ich hatte dieses Problem nur sehr selten und zufällig in der Entwicklungs- und Testphase.

Ich würde ausschließen, dass es am Gästebuch liegt. Denn wenn das Bild (captcha.php) aufgerufen wird, dann wird von der gleichen Datei diese im Bild angezeigte Zahl codiert in der Session des Browsers abgelegt.
In der Session kommt die neue Zahl an, nur nicht als Bild im Browser.

Was für ein Betriebssystem/Browser benutzt du?

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Insane
ConPresso-Newbie
Beiträge: 11
Registriert: 06.08.2007 15:21
Danksagung erhalten: 2 Mal

Beitrag von Insane »

Windows XP Professional und Mozilla Firefox 2.x.

Gruß,
Insane
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Insane hat geschrieben:Windows XP Professional und Mozilla Firefox 2.x.
Hm :gruebel:

Ich hatte vermutet, dass es sich vielleicht um einen Mac/Safari-Browser handelt, da ich damit keine Erfahrung habe, und ihm ein solches Verhalten zutrauen könnte. Aber bei einem FF unter Win XP, mit dem ich auch meistens teste, ist mit dies nur höchst selten passiert.

Du benutzt auch keinen Javascript-Zurück Link, oder?
Ist es ein richtiger Rubrikeintrag in der Navigation, über den du dann wieder das alte Captcha siehst?

Das von dir geschilderte Problem tritt bei mir nur auf, wenn ich im Browser auf "Zurück" klicke, also in der Browser-History auf zurück gehe.

Dann hilft aber ein einfaches "neu laden" (F5), und schon hat man ein neues Captcha, das üprigens erst angezeit wird, wenn die Seite komplett neu geladen wurde.

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Vielleicht sollte man prophylaktisch die Bilder als verfallen kennzeichnen, wenn sie generiert werden.

Dazu könntest Du in captcha.php nach der ersten header-Zeile noch

Code: Alles auswählen

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
hinzufügen (siehe PHP-Manual)

Oder Du könntest den Aufruf von captcha.php mit einem Parameter versehen, so daß jeder Browser das Bild neu anfordert, also z.B.

Code: Alles auswählen

echo '<img src="../captcha/captcha.php?'.time().'">';
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Das sieht interessant aus Markus.

Das kann ich ja in die nächste Version einbauen, wenn es Insane getestet hat.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
mvonrotz
ConPresso-User
Beiträge: 25
Registriert: 17.08.2005 17:45
Wohnort: Alpnach (CH)
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Code wird nicht akzeptiert

Beitrag von mvonrotz »

Seit einigen Tagen läuft in meinem Gästebuch das mit dem Eintragen des Codes nicht: Gebe ich den ersten, sichtbaren Code ein, meldet das System nach dem SENDEN, ich müsse den angezeigten Code eingeben. Dann wird ein neuer angezeigt, und mit dem funktionierts dann.

Ich habe im Gästebuch Infos zur Falschberechnung gesehen, dort wird von Änderungen abgeraten. Solche habe ich jedoch nie vorgenommen. Woran kann das liegen?

Gruss Markus
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo mvonrotz,

das finde ich komisch, dass es ursprünglich funktionierte, plötzlich aber nicht mehr, bzw. erst nach dem 2. Versuch.

Kannst du mal bitte die beiden von MarkusR geposteten "header"-Zeilen einfügen?
Und zwar in der Datei mod_guestbook\_include\captcha\captcha.php nach der Zeile (ca. 55):

Code: Alles auswählen

header('Content-type: image/png'); 
Das wäre schön, wenn du das mal testest und hier die möglichen Veränderungen schilderst.

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
mvonrotz
ConPresso-User
Beiträge: 25
Registriert: 17.08.2005 17:45
Wohnort: Alpnach (CH)
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Fehler ist nicht behoben

Beitrag von mvonrotz »

Hallo Mathias

Danke für die schnelle Antwort. Meine captcha.php-Datei endet somit folgendermassen:
$_SESSION['captcha_spam'] = encrypt($text, $captcha_key); //Key
$_SESSION['captcha_spam'] = str_replace("=", "", $_SESSION['captcha_spam']);

if (!empty($parameters)) { //Dadurch kann das Captcha direkt im Parser als Text ausgegeben werden
echo $text;
} else {
header('Content-type: image/png');
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
$img = ImageCreateFromPNG($png_img); //Backgroundimage
$color = ImageColorAllocate($img, $img_color_r, $img_color_g, $img_color_b); //Farbe
$ttf = dirname(__FILE__)."/".$img_font; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,50);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
}
?>

Aber da Problem ist nicht behoben. Nun gibt es gar keine Fehlermeldung. Ich arbeite mit dem Firefox.
Gruss Markus
Antworten